25 ottobre 1 9-87
od , A b b . Post. G r 1 1 ! / 7 0 C R Gir Me "‘e
i ■ rivirili defili nienti di sistemi Commodore
Commodore
MÌS»ìm
;Egigj
r ' *+£
- .. in
- • ■ -'H
F^"***--
IMMAGINE MAftSlLII & TERZANI - CIELO Dì RIETI
M lettore di VR
Vìdeoregistrare è giovane,
dinamico, creativo. Di cultura
e reddito superiore alla
media, possiede spesso più
videoregistratore, oltre
all’Impianto hì-fi e al
computer; nel tempo libero,
non rinuncia a viaggi In Italia
e all'estero, e a cinema, teatro
e spettacoli sportivi in
genere. Usa il
videoregistratore non solo
per i programmi tv o
premasi, ma anche per
riprendere i momenti felici in
famiglia, per creare una
videoteca personale.
E tu, che lettore sei?
L 'immaginazione
al potere
V ■' ' '
\ éf
INSERTO
PRINCIPI
DI MULTI-PROGRAMMAZIONE
RUBRICHE
4 EDITORIALE
DOMANDE/RI SPOSTE
7
Hardware
Un monitor affidabile
a
T3
91
Insieme
Una cedola importante
Test di coppia
m
• •+ * *
•
a
•
19
34
Giochi
Pronostici Totocalcio
A che gioco giochiamo?
4
*
27
Grafica
Un anno di grafica
*
• *
a
4
30
93
Didattica
Peek-Poke & Sys per C64
Sotto il segno del trinomio
*
*
• *
32
Telecomunicazioni
La Banca in casa
*
41
GW Basic
MS-DOS e GW Basic. Versione 2
•
60
Enciclopedia di routine
Anche l’occhio vuole fa sua parte
*
* *
65
Anteprima
tanti giochi e duo utility
*
70
Spazio Amiga
Ai vostri comandi
«
Dlwtfore: Acssartdro de Si "rene - CapOf^altmei Michele Maggi!
R edaz tono/eoH a bot stori: Sarto Ajgcsl ni. Claudio Baloccò Cfrlo «• . j cura Efebei a
Si mone Setto: a. Luig- Ca leg&ri Sergio Cornici, Sandro Certi, Umberto uosap:cchi3'i
Ma-jiuiO Celi' Abate , Valerio- Ferri, Giancarlo ^ariani Roberto MaiigO Uizlo Men Mb^oo •*.-gv .
Rciuùm Varassi, Antoni? Pastore.: Garin fiamp . Marco Saetta, W\o Sorgalo.
Cani?o Toma. Gfovarìni Valli.
segretaria di rtda 2 ione: Mau r a ÉSÒCSròJl GiWflCtt Arturo Caglia. Cabrala Galbosera
Copertina: La Irto dì copertina è stala gemi L monte concessa da Canaio S
Dtieiione* recezione» pubblicità: rie Fa* agonia, 75 - 20 ■■i? v - y.- ■ el
Pubbl torti: v lano Leandro Nerigni (rtirettore vend lei, Cado Agwc Giorgi Suborn
Gaudio TidCria - v.h 3 ^amagosla. 75 - 2:0 ■ 4 £ Milano - fai 02/8467346
■ Ersilia Romagna: Spazio t - l'izza Roosevelt 4-40-23 Botola - si 05 •236--,79 ,
* Toscana. Marche, Umbria: Vare ito sr - via Rocari, 9 ■ Sfin Gfovanrv Valdfirno '.Af) ; e! 055/047
* Lazio, Cameade: $pa 2 -.o Nuovo - via P. Fbscar, 70 • 00139 Rena -el. OÈ/BlOSfiTtì
Segreteria: Marina Vantini - Abbcnamerrth Liliana Spina
Tariffe; prezzo per copia L 4.000. Abbonamento annuo ' ' lascito I l- 40.000 cSte r r>: ■ -:.r>pi."
Abbonamento cumulatrvo &iie rivista Compier a Commodore Computer Oub _ 60.000.
i versamenti vanno n<jir zzati a. Systems Efaisor-ae Sii neri Etnie assegno tenebro
p utilizzando il c/c postale n. 37952207
Composizione: Systems Editoriale £r Feio-lito: Systems lc tifile Sii
Stampa: Syiiems Ed irmi*/ Là Litografica Sr - Busto Arsizlo (Va)
R«g1«erazfeni: Trionfile di Milano a 370 (tei 2/10/32 - D attore Responsahlc Michele Di r na
Sp^r m fipp POSE gr Jh FubWfciiè interiora a’ 70% Oistnb.: MePe - y;a G. escano 32 - M lano
Enciclopedia L.M.
75
ire nuovi comandi per operare
in Basic
93
Protezioni
Tecniche di Auto Run per CI 28
EDITORIALE
Le 000
e una Commodore
Le recenti notìzie dai mondo Commodore
sembrano ribadire !a decisione di migliorare
l’immagine dell'azienda
u no degli aspetti più importanti
del "nuovo corso" della Commodore,
c la politica di riassetto della struttu-
ra distributiva, il cui scopo c quello di
arrivare ad un contatto diretto con
l'u teme finale.
Pct ottenere tali ambiziosi risultali,
verranno identificati, attraverso una
rigorosa selezione tra gli attuali ne-
gozi trattanti prodotti Commodore,
1000 esercizi commerciali che, ri-
spondendo ai requisiti richiesti, ver-
ranno qualificati come "Commodo-
re PoinC.
L'allestimento standardizzato in
tutti tallo delle loro vetrine diventerà,
entro breve tempo, un punto di riferi-
mento preciso e facilmente indivi-
duabile dal consumatore. Questi po-
trà disporre dei numerasi servizi of-
ferti tra cui, fondamentale, la prepa-
razione tecnica di personale qualifi-
cato, appositamente istruito da corsi
specifici che verranno tenuti dalla
stessa Commodore.
I Commodore Pomi, naturalmente,
avranno un rapporto diretto e p ri ci-
liegiaio con la casa-madre che prepa-
rerà. solo per loro, esclusive confe-
zioni di prodotti informatici e garan-
tirà, in anteprima, la presentazione
di tutte le novità Commodore.
Solo presso i Commodore Point, i-
noi tre, saranno disponibili eventuali
agevolazioni promozionali che do-
vessero essere stabilite, e sarà possi-
bile utilizzare gli stessi esercizi com-
merciali come centri di raccolta per
macchine da riparare sìa sotto che
fuori garanzia.
La Commodore ritiene che, in un
m e re a to c os i co m peliti vo come quel-
lo della microinfòrmatiea, avere dei
centri specializzati di vendita lsì a il
giusto mezzo perseguire, in maniera
costruttiva, revolverai dei bisogni del
consumatore; soprattutto in un mo-
mento come questo, in cui l'informa-
tica entra nelle case e negli uffici per
risolvere i problemi di lutti i giorni.
Colorì io atta risoluzione
□ Quando cerco di alterare i colorì di
un disegno tracciato in alta risoluzio-
ne, a volte tutto funziona a dovere, al-
tre volte Toperazione sembra “distur-
bare” pìccole aree adiacenti a quella
m ai poi a t a, con La creazione di effetti
indesiderati: creazione di scalette co-
lorate, modifica dei colori di altre linee
adiacenti e così via. Quale può essere
la causa?
(Massimiliano Di Massimo - Somewere)
* Non preoccuparti: è tutto regolare.
Purtroppo i computer domestici
(C/64, C/128 t C/16) hanno una ge-
stione della grafica un po’ particolare
che non può essere modificata.
Nonostante Fargo mento sia com-
plesso, cercherò di riassumere breve-
mente la tecnica adoperata per colo-
rare lo schermo in alta risoluzione,
Dunque, iniziamo col ricordare
che l’area video che si osserva quan-
do si “entra" in alta risoluzione è for-
mata da 64000 puntini che, a loro vol-
ta. sono Hm magi ne di 64000 bit che,
a loro volta, sono raggruppati in
gruppi di 8 in 8000 byte adiacenti (la
cosiddetta “Pagina grafica 1 ').
E fin qui tutto dovrebbe esser chia-
ro (e noto),
I! colore di ciascun puntino, però,
pur potendo variare a piacimento
nella gamma del colori disponibili
(16) è rigorosamente legato" alla
sorte di altri puntini ad esso adiacen-
ti, e vedremo subito il perchè.
Se, infatti, si volesse dotare ciascu-
no dei 64000 puntini della possibilità
dì venir colorato con uno qualunque
dei 16 colori possibili, si dovrebbe
rendere disponibile un’ulteriore area
di memoria Ram che rappresenti, per
ciascun puntino, il colore.
Siccome i colori sono 16, si rende-
rebbero indispensabili (vedi calcolo
binario) 4 bit perla rappresentazione
di ciascun puntino per un totale di
16x64000— 1024000 bit che, pur se
raggruppati in byte lunghi 8 bit, ri-
chiederebbero tuttavia ben 128000
byte; e questo, bada bene, solo per
memorizzare le informazioni relati-
ve al colore!
Per evitare la spesa di un’area così
vasta di Ram (non dimenticare l’epo-
ca in cui il C/64 fu progettato e realiz-
zato) i progettisti della Commodore
decisero di ricorrere ad una drastica
limitazione assegnando, per la me-
moria colore, solo 1000 (mille) byte.
lì trucco si basava sulla considera-
zione che, nel modo testo, una cella
video destinata ad ospitare un carat-
tere alfanumerico, è formata da una
griglia dì 8x8 puntini elementari ed è
relativa ad un byte che, come tutti i
byte, può contenere un valore com-
preso tra zero e 255.
Orbene, è sicuramente possibile
suddividere l’area del video in alta ri-
soluzione in mille ( = 25 righe x 40 co-
lon ne) minì-aree che. in modo testo,
corrisponderebbero, ciascuna, ad un
carattere visualizzabile.
Ogni cella che, in modo testo, può
ospitare un carattere alfanumerico,
rappresenta invece, in modo alta ri-
soluzione, il colore della stessa por-
zione secondo un codice particolare:
quattro dei suoi otto bit rappresenta-
no il colore dei pixel accesi (posti ad
1), gli altri quattro, invece, il colore
dei pixel spenti (posti a zero).
Tali codici, però, sono relativi al-
l’intera area di 8x8 puntini che di-
pendono dalla locazione colore in-
teressata.
Ne consegue, dunque, che in una
stessa cella vìdeo in alta risoluzione,
che in modo testo conterrebbe un ca-
rattere, puoi disporre di due soli colo-
ri che possono benissimo esser diver-
si dai due colori disponibili nelle cel-
le adiacenti.
1 bellissimi disegni multicolori che
spesso ammiri in schermate grafiche
in alta risoluzione, vengono effettua-
ti tenendo conto di tale particola rità e
manipolando con perizia la modifi-
ca dei colori passando da una cella
all'altra.
Non proseguo il discorso sulla tec-
nica multicolor (che porta i colori a
quattro, ma dimezza la risoluzione)
ma ne approfitto per ricordare che
con computer modesti è possibile
realizzare “cose" modeste.
Per un vero CAD devi, per lo meno,
passare all Amiga.
Fast inattivo
O Ho digitato i programmi grafici
Quark e Random Project pubblicati
sul N.43 (a proposito: voglio congratu-
larmi con ì bravissimi autori) ma il mio
C/128 si blocca se è presente, nella ri-
ga 320, l'istruzione Fast, mentre fun-
ziona perfettamente se la elimino. Co-
me mai?
(Adriano Docci - M. dì Campo)
* Grazie per i complimenti (che giro
pari pari agli autori Mauro e Stefano
Ciurli di Roma) e passiamo al que-
sito.
Il comando Fast costringe il C/128
ad elaborare in modo più veloce gra-
zie alla diversa frequenza con cui
viene eccitato il quarzo. Per far que-
sto, purtroppo, è necessario un picco-
lo sacrificio: bisogna rinunciare alla
gestione del video che, non appena sì
attiva il comando, scompare, o me-
glio viene “spento" finché non viene
incontrato il comando Slow che ri-
pristina le originarie condizioni di
velocità.
Morale: benché il comando Fast in-
crementi la velocità di elaborazione,
è necessario dar tempo al computer
affinchè la compia per intero. E'
quindi probabile che la tua impa-
zienza di osservare i risultati sia tale
da ritenere difettoso il comando; op-
pure che hai dimenticato dì digitare
il comando Slow (riga 530) che ti per-
mette dì osservare ì disegni dopo che
sono stati tracciati.
Commodore Computer Club - 5
Mappa memoria 80 colonne
□ In quale zona di memoria si trova la
pagina video dedicata ai caratteri nel
C/I2S in modo SO colonne?
(Christian Capone - Torvajanìca)
* La gestione del video del C/128, sia
in bassa che alta risoluzione, non ri-
calca 3e orine dei computer più picco-
li e l'operazione di visualizzazione
non si accontenta di semplici co-
mandi Poke.
In certi casi, addirittura, è necessa-
rio attivare via software il chip video
e passargli i parametri opportuni per
ottenere la conseguente visualizza-
zione di immagini,
Purtroppo il modesto numero di ri-
chieste relative alla gestione nel mo-
do 80 colonne, finora pervenute in
Redazione, mi impedisce di assegna-
re ad uno dei collaboratori il compito
di scrivere un articolo specifico,
A meno che non giunga una valan-
ga di lettere di incitamento...
Esperienze
□ Che cos’è un sistema esperto?
{Matteo Bacca n - Cannotto, No)
* La possibilità offerta dai moderni
computer di elaborare, senza affati-
carsi, milioni di operazioni, confron-
ti e verifiche, ha spìnto gli informatici
a sviluppare quella che, da qualche
decennio, viene definita “Intelligen-
za artificiale" (abbreviata: ÀI) e che
ora tendono a chiamare, meno pre-
suntuosamente, 'Tecnologia della
conoscenza"
Un sistema esperto consiste nel l'as-
segna re una certa quantità di infor-
mazioni, catalogabili nel modo più
disparato, e rintracciare, in seguito, e-
veniuali legami ohe le accomunano.
Naturalmente il problema più im-
portante è proprio il modo di inse-
gnare al computer ad effettuare le ri-
cerche e, soprattutto, a memorizzare
le varie procedure via vìa eseguite in
modo da far tesoro dev'esperienza
accumulata ed evitare eventuali erro-
ri già commessi.
Un esempio di sistema esperto (in
scala molto ridotta) è quello, pubbli-
cato più volte sulle riviste del settore,
in cui si insegna al calcolatore a rico-
noscere un animale in base alla de-
scrizione "indiretta" (mediante ri-
sposte “sì” e ”no”) che l'utente ha
compiuto in precedenti colloqui con
il computer. Supponiamo che il com-
puter abbia in memoria le caratteri-
stiche di una decina di animali e che,
tra questi, sia assente il gatto. Indi-
cando con TU Intente e “C" il calco-
latore, ecco un esempio di colloquio
che viene svolto tra “U” e “C”:
C: E’ un quadrupede?
U: sì
C: Vive anche in acqua?
U: no
C: E erbivoro?
Ut no
C: È un eanide?
U: no
C: è un felino?
LI: sì
C: Ha la criniera?
U: no
C: F la tìgre?
U: no
C: Come si chiama I animale?
U: Gatto
C: in che cosa il GATTO differisce
dalla TIGRE?
U: è domestico.
Da questo momento il calcolatore
avrà in memoria le caratteristiche dì
un nuovo animale (gatto) che prima
non aveva a disposizione: ha quindi
acquisito esperienza nel senso che,
ripetendo il gioco, rifarà le stesse do-
mande, ma chiederà “E 1 un gatto?” lì
dove prima aveva chiesto "Come si
chiama l'animale?”
Come puoi intuire, un vero e sofisti-
cato programma di 1 A che sia degno
di chiamarsi 'Sistema esperto” può
arrivare a gradi di sofisticazione e-
normi con applicazioni nei campi
più disparati: previsioni del tempo,
dell'andamento della borsa, del ri-
sultato delie elezioni e così via.
Easy Script
EU Sono in possesso del fascicolo 4 1 dì
C.C.C. che contiene l'inserto dedicato
interamente all’uso di Easy Script, Co-
me posso trovare un maggior numero
di informazioni sul potente word pro-
cessor della Commodore?
(Luca Gatti - Attese)
* L'inserto cui ti riferisci era destina-
to a coloro che, pur possedendo il
programma, non erano in grado di u-
tilizzarlo al meglio a causa di alcuni
malfunzionamenti dovuti ad imperi-
zia d'uso.
Se, quindi, desideri entrare in pos-
sesso delfelenco completo di tutti i
comandi disponibili, non ti rimane
altro che acquistare, da un qualsiasi
rivenditore autorizzato, la confezio-
ne originate del software che contie-
ne un esauriente libretto di istruzioni
in italiano.
Da disco a nastro
□ Vi sono alcuni giochi su disco che so-
no formati da più dì un programma. Ho
saputo che è possibile trasferirli su
cassette con alcune istruzioni Poke.
E’ vero?
(Maurizio Frustarli - Terranuova)
• Sì e no. Mi spiego meglio: nei pro-
grammi formati da più lì le. il primo
di questi, in genere, contiene alcune
istruzioni che provvedono ad inseri-
re particolari codici di protezione
che impediscono l'interruzione del
gioco e, quindi, la possibilità di
registrarlo.
All’inferno dello stesso file, inoltre,
sono presenti altre istruzioni che abi-
litano, o meno, il caricamento degli
altri file presenti sullo stesso disco.
Saranno certamente presenti, da
qualche parte nel programma, le i-
struzioni che "legano" ì file tra loro o
altre che sovrappongono le istruzio-
ni necessarie ad altre che non servo-
no più.
Siccome ogni gioco ha una sua tec-
nica particolare di protezione (e dì
fusione di file) non è possìbile deter-
minare un sistema valido universal-
mente, nè per realizzare un unico file
nè, tantomeno, per effettua re trasferi-
menti su cassetta.
6 - Commodore Computer Club
Modem e smembramenti
□ Ho notato che alcuni negozi di com-
puter smembrano le recenti confezioni
telematiche della Commodore c ven-
dono separatamente i vari componen-
ti: computer* drive, modem, Geas. Se
dovessi acquistare un apparecchio pro-
veniente da una confezione telematica,
pensate che avrei problemi con la
gara n/ia?
(Ijiigi Casagrande - Livorno)
(Dugo Giorgi - Gela}
* La C ommodore Italiana Janciando
sul mercato le due confezioni telema-
tiche, si proponeva di offrine f oppor-
tunità di entrare nel meraviglioso
mondo del la trasmissione dati e forse
non immaginava che alcuni nego-
zianti, per favorire i propri clienti,
provvedessero a separare i vati com-
ponenti della confezione stessa.
Tale modo di comportarsi, a onor
del vero, dipende soprattutto dal fat-
to che la Commodore ha deciso di
commercializza re in un secondo mo-
mento il solo modem e di riservare la
fornitura del Goos solo ai neo-
posse s sori del C/64.
Per la garanzia, comunque, stai
tranquillo: ogni componente della
confezione è dotato della sua garan-
zia che rimane validissima anche se
hai acuistato il prodotto separata-
mente dagli altri.
Differenze 1
ri
□ Che differenza c’c tra il 1541 ed ìi
1571? Che differenza c’è tra l’opera-
zione di Reset e lo spegnimento (e suc-
cessiva ri accensione} di un computer?
(Alessio Trovi i - Rvmu)
• Il 1571 è un drive che, olire ad altre
caratteristiche (tra cui una maggior
velocità) possiede due tedine dì Icttu-
ra /scrittura e, di conseguenza, utiliz-
za entrambe le facce di un disco. Na-
turalmente deve essere collegato ad
un computer che lo utilizzi in tale
modo, altrimenti funziona come un
semplicissimo L54L 11 computer in
questione è il C/128 che, "accorgen-
dosi" di essere in presenza di un 1571,
lo utilizza al meglio delle sue possibi-
lità. Collegato ad un C/64, invece, si
limita a simulare le funzioni del
154L
Per ciò che riguarda le operazioni
di Reset, invece, ceda dire che il vero
c totale Reset è costituito unicamente
dallo spegnimento e riacccnsionc
della macchina. In molti casi, co-
munque, la pressione del tasto Reset,
oppure il ricorso ad una Sys partico-
lare, provoca lo stesso risultato. Con
alcuni programmi, tuttavia* {specie
se protetti oppure scritti in linguag-
gio macchina) non ha alcun effetto.
In definitiva, vi sono tre vie per re-
sultare un computer: la prima, più
blanda, è la Sys opportuna; se questa
non funzionai necessario premere il
tasto Reset; in caso negativo si spe-
gno e si riaccende la macchina
Differenze 2
□ Che differenza c’é tra Poke X*
Peek(X)Artd 254 e Poke X,0 e simili?
Ghe cosa cambia* msomnia, se invece
dì trascrivere un risultato da calcolare
immetto il risultato finale?
(Pierluigi A lemmari - Angem)
• Non cambia assolutamente nulla,
anzi la velocità di elaborazione au-
menta, dal momento che vi sono me-
no calcoli da effettuare. IE motivo per
cui trovi spesso una forma sintattica
più complicata è comunque un al-
tro.
Molto spesso, infatti, lavorando
con istruzioni Poke, risulta necessa-
rio modificare solo alcuni dei bit re-
lativi ad una cena locazione di me-
moria. Le varie operazioni And e Or
servono, quindi, a fare in modo che
sia interessato solo quel bit c non
altri.
Facciamo un esempio: sai benìssi-
mo che con Poke 1024,1 compare, in
alto a sinistra dello schermo del
C/64, il carattere "A”; orbene con,,,
Poke 1024, Peek(1024) or 128
...non fai altro che sellare il settimo
bit che, nel oodìce di schermo, rende
in Reverse il carattere visualizzato.
Lo stesso effetto, ovviamente, lo po-
tresti ottenere con:
Poke 1 024, 1 29
La differenza sostanziale consiste
nel fallo che mentre con il valore 129
ottieni la visualizzazione in reverse
del solo carattere "À" con l’operazio-
ne OR \ 28. invece, sei in grado di ren-
dere ili re verse qualunque carattere
sia presente nella locazione video
1024.
Ovalizzazione di cerchi
□ lavorando in alta risoluzione riesco
a disegnare cerchi perfetti che pero* ri-
portati su carta con operazioni di hard
copy, diventano ellissi. Quale ne è la
causa?
(Aldo Manunm • Lecce 1
m La cella video dd C/64 è formata da
una griglia di 8x8 puntini elementari
GEMINI SOFT
Vi Lt'.li-rtiipo Vl.U
Cojm i nastri proietti d^i védovi?./ alari prò usali
01 tìjlij. Óonntclipn, l'urbu 2Uj>. Daspfi. Turbu/HG.
i.a vetrone nfn cupi j nnM.ro i programmi
proietti (Un ^ n limi Oi-NCfith, anche ne mudifiViiii.
G fNtisce i fili; ni u li il Oliti, hcudtfltfj. etc. SuteM
Sia ramno od lotto. du: e,iG.
E. j versione nldlt trasferisce inv^ su dicco, een/u
problemi. Com precide cn olire un cu pianate ner rde
generati tki v.irlueee ih opri «freezer''
l'er ulteriori i nfe nmwt i n n i seriveicei >ubito vi
invieremo Mr.i nulamente ’J'Èjfbo Iderrliffear, i.
prun;rAfiirtì,i che rrUlivrdlT? la protezione uOìiz/iiE.i
Ogni ai n gol» versione so cas vetta a sole lue JQ.OOT,
compì ci ii di isiru./iojii e hJì iìm-iupì d'uto VTastei-
tS|H' V2.(i è urr'cselusjvjl della Gemini Snf|.
M i vitati es ti. ]
I tu mi ideile raccolta Ui ulilily di dominio pub-
blio, corredali Od un elegante manuale di ben ~!$
P-’ teine. Uave evtesi. prog ritmili er’* ;iid, toma tori k -
Etml pur disco. macro-asserti bl ter. mOnilur, aprite
ti j Eh a Pi i r i .i C il Stt disco, se n za p t otc/ i o m . .1
lire 30,000
UuitiN. CiU.ilnjio NoflUiire, Iva ine fu Si». Spedi/: ioni
ecun I r»s H-cjf mi , spinse ptisiitJi a pus tra i.sictu,
GEMINI SOFT
Vkm I iV| ijjliori, i n - 8Ut2SS. M AMIA A VfCO CCt>
Commodore Computer Club - ?
3 a cui distanza reciproca è hi stessa
sia se misurata in orizzontale sia se
in verticale.
Alcune stampanti, invece, pur a-
vendo una matrice analoga, non la*
sciano la stessa distanza lungo i due
assi; ne consegue la deformazione la-
mentata che, per essere eliminata, co-
stringe l'utente a disegnare, su scher-
mo, ellissi che, deformate dalla stam-
pante, ridiventano... cerchi.
Archivi universali
□ I file creati con Ùbase EI (C/128 in
modo CP/M) possono essere utilizzati
da altri database?
(Gabriele Giamboni ini - Svizzera)
* I file non sono altro che una se-
quenza di caratteri, memorizzati su
disco secondo un codice particolare
che è quello specifico del software
adoperato.
Molti programmi, soprattutto di
word processing, generano file se-
condo un codice praticamente uni-
versale; naturalmente alcuni coman-
di di formattazione, registrati spesso
insieme ai file, non hanno effetto con
altri W/p oppure provocano inchio-
damenti del sistema,
Da un po' di tempo, però, molte
software house cercano dì realizzare
programmi che, pur se profonda-
mente diversi tra loro, generino file di
utente che possano essere richiamati
facilmente anche da altri package,
I programmi in grado di elaborare
file provenienti da software profes-
sionale, comunque* riportano bene
in vista, sulla confezione posta in
vendita, tale opportunità.
II problema, semmai, è un altro: bi-
sogna essere abbastanza fortunati da
trovare un package che non solo sìa
tn grado di effettuare i caricamenti
che desideri, ma, soprattutto, che uti-
lizzi un formato software dei dischet-
ti compatibile con quello richiesto
dal drive che usi con il tuo C/128.
Stampa leggera
□ La mìa ÌYIps-803, anche con nastri
nuovi, stampa caratteri flebili; è possi-
bile far stampare due volte uno stesso
rigo in modo da renderlo più leg-
gibile?
(Ennio Baiocchi - Roma)
• In li nea teorica è possibile, ma sa-
rebbe necessario un software specifi-
co da incorporare in ogni pro-
gramma.
Con i programmi professionali
(W/p, data base e così via) non c'è
niente da fare.
Ingrandimenti
□ Quali sono le Poke misteriose che
consentono di ingrandire i caratteri del
mio C/128?
(Pietro Pace - Mono poh)
* Non esistono Poke che consentano
di ingrandire i caratteri visualizzabi-
li; è infatti necessario un apposito
programma che riporti su video (o su
stampante) l'opportuno ingrandi-
rne rito.
Le schermate, che spesso vedi in va-
ri programmi, e che riportano mes-
saggi di altezza c forma più o meno
differenti da quelle alle quali sei abi-
tuato, sono dovute a particolari su-
broutine, incorporate negli stessi
programmi (e difficilmente “estraibi-
li') che servono a rendere più sugge-
stive determinate immagini.
Solo f Amiga, il recente computer
della Commodore, permette, in alcu-
ni casi, la selezione tra vari set di
caratteri.
Lavorando con alcune stampanti
sofisticate è invece possibile, con una
certa facilità, ottenere set di caratteri
alternativi, anche di varia gran-
dezza.
Pet Speed C/I28
□ Mi sono procurato il compilatore
Pet Speed per C/l 28 ma, specialmente
in grafica, le schermate riprodotte dal
programma compilato sono molto di-
verse da quelle ottenute con il pro-
gramma sorgente in Basic, Quale può
esserne la causa?
(Federico Solla - Napoli)
• Le notìzie che fornisci sorto poco
dettagliate: per saperne di più dovre-
sti inviarci il dischetto contenente sia
il sorgente che l'oggetto,
E probabile che, nel programma in
Basic, vi siano Poke "strane" o che,
peggio, invadano fa rea su cui opera
Ì1 compilatore. Se questo non è il tuo
caso, purtroppo, non posso esserti di
alcun aiuto.
Banchi del C/128
□ Che cosa sono i banchi di memoria
del C/ 128 (che il C/64 non possiede) e
come é possibile che un microproces-
sore ad otto bit riesca a gestire una me-
moria più ampia di 64 K?
(Cristiano Mari ordì a - V.Equense)
• Il C/128 può operare su molti ban-
chi di memoria da 64K ciascuno. E J
ovvio che molti di questi sono “vuoti"
nel senso che il computer, nella sua
confezione originale, ne occupa solo
due: gli altri sono liberi per espansio-
ni dì R^irt, varie cartucce e così via.
Non è esatto dire che il C764 non di-
sponga di più banchi. In effetti il
C/64 ha due banchi di memoria a sua
disposizione, benché non utilizzi il
secondo per intero. Si pensi, infatti,
che sono presenti 64K Ram e, paral-
lelamente, “coesistono’' altri K di me-
moria Rom {per non parlare dei
Chip I/O e sìmili).
Per selezionare uno dei vari chip,
che sono costretti a condividere gli
stessi indirizzi (ma che devono fun-
zionare sdetti v am ente, uno solo alla
volta), il microprocessore invia un
particolare segnale che abilita uno
solo dei chip mentre* co n tempora-
8 - Commodore Computer Club
Una Tartaruga Non Può
Stare Al Passo Con Una Lepre.
Non trovate assurdo avere un computer che corre come una
lepre e usare una stampante lenta come una tartaruga?
Seikosha stampa a ben 420 caratteri per secondo. Cioè a una velocità di gran lunga
superiore alla stragrande maggioranza delle stampanti oggi in commercio. Questo
vuol dire migliorare le prestazioni e aumentare la velocità produttiva del computer.
Di ogni computer. Seikosha non solo corre come una lepre, ma offre anche un'ec-
cezionale qualità di scrittura e una serie di prestazioni che ne fanno la stampante
più evoluta della sua categoria. Le sue caratteristiche tecniche parlano chiaro:*
- Compatibilità con i maggiori sistemi
Velocità di scrittura 420 CPS
- Silenziosità
- Ampia gamma di caratteri
^ | Se aggiungete Tef-
^ ficiente e tempe-
. stiva assistenza
\ tecnica della
\ IVk \ Claitron,
Ik \ saprete
Questi dati sé riferiscono
al Enc-delio Seikosha
business Printer BP- 5420 Al
□ tSTRlÈUTO^e PER L'ITALIA
VIA GÀLIARATE, 21 1 . 20121 MILANO - TEL. [02) 3010091 r.o. - 3010081 r.o - TELEX 313843 CLAITRON
® r OO/o
°» r u N z K>Nr
Olp^T OPffr
*effu?£s v AL
Personal computer è la rivista Systems per gii utenti Commodore. MSX, Sìncfair.
Non solo tre riviste per tre diversi utenti: Personal Computer è anche un’idea nuova
per far comunicare tutti gli hobbisti. Personal Computer: 128 Kbytes di rivista, tutti i
mesi in edicola, L'abbonamento cumulativo a Computer e Personal Computer costa
sofo L. 65,000,
// mercato si evolve.
Anche noi.
RoqnAwon i >\ y oionis
Ulta volta * . •
nel branco •••
* Toia.msnte oorr, palaie PC/XT 3M
* m croprOce&sore hfcgl $Qfiti
* memoria RAM 556 Kb espandibile a 640 Kb su! a
piastra base
* memoria ROM -8 Kb (BIOS) espandibile 64 Kb
* scheda madre con fl s-to! di espansione
* scheda grafica monocromatica ad ala ri-scuzione
1720x346 punii)
* porla paratola per collegamento stampante
* tasterà italiana ASCII con 84 tasf e IO (asti
funzione o USACI!
■ jrio o cue d'itfe Siim 5" 1/4 da 360 Kb lodsco rigdo
di diverse capacità)
* alimentata re 135 W ■ 230 Voh
* dlmension 500 x 41 D x 142 mm
r pesò: n Kg
* sistemi operstiv. supportai . tufo quel i cel
PC/XT IBM
* Tota mense corri pati bi e PC/AT BM
* microprocessore nte; 802 -6: trasferimento dati a 1t>
bif; ind=rczamento a 24 bit
* memoria RAM 512 Kb espand bile a 5 MB
* scheda madre con fi steì d esoanscne
* scheda grafica monocromatica ad alta risoluzione
(720x346 spumi)
* pela paratela pe? collegamento stampante
* spie luminose su a tastiera per "caoss look", ^num
look'' e "scroti look"
4 orologio, ca.endar.o e configurazione di sistema con
CMOS RAM e reia’iva s imgntszione d riserva con
daterà eterne
■ serratura ci s carezza per 'accesso al ' j n rà d eiabc
razione
* drive F-zepv disk 1.2 Mo
Massima Espandibilità con dischi o schede
neamente. “addormenta' " tutti gli
altri.
La gestione di tale procedura, oltre
ad essere piuttosto complessa, risul-
ta, in ultima analisi, molto lenta ed è
questo li motivo per cui. nei compu-
ter moderni, si preferisce ricorrere ad
altri microprocessori in grado dì in-
dirizzare ì vari dati senza problemi
di selezione di banchi.
Titolatrice
□ Perchè non provvedete a scrivere un
programma che visualizzi scritte scor-
revoli, multicolori e dì varia grandezza
che possa essere adoperato come tito-
latrice per i videoregistratori?
(Antonio Poli meno - Ma! ino)
* Molto tempo fa apparve un mio
programma sulla rivista Micro &
Personal Computer (N. 39 marzo ’84)
che consentiva di riprodurre su video
messaggi piuttosto ingranditi.
Per quell'epoca, forse, il program-
ma era sufficientemente valido ma,
con il passare del tempo, sono venuti
alla luce numerosi altri software che
consentono di visualizzare messaggi
di notevole eleganza,
I! ricorso ai vari Print Shop, Print
Master e sìmili può rappresentare,
parse non sono stati creati per lo sco-
po indicato dal nostro lettore, una va-
lida opportunità per abbellire e per-
sonalizzare le videoregistrazioni.
Se qualcuno ritiene di aver scritto
un programma sufficientemente in-
teressante, può inviarcelo per il suo
inserimento in “Directory ", il di-
schetto che vendiamo mensilmente
solo per corrispondenza.
Ri locare programmi in L.M.
□ Come si può rilocare un programma
scritto in linguaggio macchina?
(Piergiorgio Dell Agosti n - Belluno)
* La teoria della tecnica di ri locazio-
ne sembrerebbe piuttosto semplice:
individuare le istruzioni relative ad
indirizzi assoluti e modificare Largo-
mento in modo che "punti )T al
nuovo indirizzo.
Passando dalla teorìa alla pratica,
però, la faccenda si complica pauro-
samente, ed indico qui di seguito solo
alcuni dei motivi:
- necessità di distinguere tra indirizzi
assoluti da mantenere inalterati (co-
me quelli relativi alle Rom) c quelli
che, invece, appartengono alla routi-
ne Lm. (e, quindi, da modificare).
- necessità di individuare, alf interno
del programma, la presenza di even-
tuali tabelle, da lasciare, ovvia-
mente, inalterate.
- necessità di considerare eventuali
sovrapposizioni net casi in cui si vo-
glia rilocare di pochi indirizzi un
programma di lunghezza maggiore
del “salto ' impostato.
In definitiva è molto, molto compli-
cato rilocare un programma Lm, di
cui non si possieda il disassem-
blato commentato.
La faccenda cambia totalmente se,
invece, il programma Lm, è scritto
dall’utente stesso. Sono oggi disponi-
bili programmi di notevole sofistica-
zione (Merlin, Macroassembler e
tanti altri) che consentono di scrivere
un programma in Assembly e pre-
sentano facilitazioni di tutto rispetto
tra cui, appunto, la rilocazione, fin-
seri mento di nuove istruzioni, fallo-
cazione di tabelle, il calcolo automa-
tico di salti condizionati e non, l’uso
delle Label.
Oggi, insomma, nessuno lavora più
in linguaggio macchina “puro 1 ’ e fu-
so di uno strumento più sofisticato
(come, appunto, gli assemblatori) è
praticamente indispensabile per chi
intenda lavorare in Lm. senza diffi-
coltà eccessive.
Strano errore
□ Con il seguente progr attinia,,,:
10 For H— 1 to 16
20 Poke H,40
30 Next H
M*il mio C/16 ìndica “Syntax error in
30’\ Che cosa succede esattamente
quando nella locazione 16 viene im-
messo il valore 40?
(Luca Acellì - Villanovezza)
• Le prime locazioni di memoria dei
computer Commodore sono riserv a-
te al Sistema Operativo ed ai l’inter-
prete Basic; l'utente non dovrebbe
mai modificarne il contenuto.
Spiegare esattamente che cosa suc-
cede è un po‘ problematico; mi limi-
terò a dire che le locazioni citate ser-
vono al tuo C/16 come riferimento
per le varie elaborazioni. E’ intuitivo
che se provvedi a “forzare” il loro
contenuto, il computer non sì racca-
pezza più e si comporta in modo stra-
no. emettendo anche segnalazioni di
errori che, iti realtà, non sono presen-
ti nel listato.
Musicalmente
□ Tento da molto tempo di scrivere un
programma che consenta dì eseguire
musica a più voci con il mio C/64, ma
trovo molta difficoltà a completarlo,
(Alessandro Serigner, dodicenne di Trieste)
• E ti credo! Un programma del gene-
re dovrebbe essere scritto in linguag-
gio macchina da chi conosce alla
perfezione non solo le peculiarità
delle note musicali, ma anche la ge-
stione del suono con il C/64.
Ti consiglio di utilizzare uno dei
tantissimi Music Editor che circola-
no tra gli appassionati, oppure di stu-
diare con molta attenzione tutti gli
articoli che finora sono apparsi sulla
nostra rivista.
Miracoli
□ Vorrei sapere se con il vostro emula-
tore Uw-flasìc è possibile emulare an-
che le funzioni del computer IBM
370.
(nome omesso per carità cristiana)
* Avevamo intenzione dì realizzare
qualcosa del genere, ma abbiamo in-
contrato difficoltà nel richiedere
consigli specifici al Padreterno,
Commodore Computer Club - 13
Risposte Rapide
Problemi con Header
Ho provato ad adoperare la sintassi
che tu hai utilizzato nella formatta-
zione dei dischetti, ma non ho i neo ti-
tano i neon venienti di sorta. Sei sicu-
ro che, sullo stesso rigo del comando,
non fossero presenti altri caratteri
che generino il Syntax Error la-
mentato?
(A f nonio Merchi ori - Mestre)
Archivio codificato
Ilo già avuto modo di ricordare, m
una precedente risposta, che per usa-
re correttamente il programma GE,
DA. FI, (apparsosi! C.CC. N.37) è in-
dispensabile che almeno un campo
sìa codificato.
Nc approfitto per suggerire, a tutti i
lettori, di leggere SEMPRE questa
rubrica: molto spesso troverete rispo-
ste ai vostri dubbi.
(ho Neh “ Pi) ni edera)
Software professionale
Per procurarsi il software profes-
stonale (c altro software in generale),
ti consìglio di rivolgerti ai nostri in-
serzionisti che vendono software per
corrispondenza, oppure a pumi di
vendita di tua fiducia.
(Paolo D'Agapiti - Veileth)
Non per C/16
1 programmi dell articolo “Sprite i-
stm itivi” apparso sul N.41. possono
girare solo sul C/128 perchè si basa-
no sulla gestione degli sprite che il
C/I6 (come il Plus/4) non possiede,
(Massimo Bregmi! - Gorizia)
Leggere* leggere, leggere
Stavolta sono cattivo: lì metodo per
determinare vìa sof tware se una peri-
ferica è accesa oppure spenta c già
stato descritto in questa stessa rubri-
ca nei n urne ri 40 c 42; ed è anche usa-
to nel programma ' Botte piena../'
pubblicato sul N.4U Morale; rileggi
gli arretrati (che assicuri di possede-
re) e, visto che ci sei, leggi anche gli
altri articoli che hai trascurato/
(Norberto Baroni - Vena rogo)
Software offresi
A te, come a tutti gli altri lettori in
gamba, non posso che rinnovare l'in-
vito a telefonare (02/84.67.34.8) per
stabilire se il software prodotto ri-
sponde alle nostre esigenze.
(Andrea - Sornewere)
H/copy C/128
Sul N.43 della nostra rivista c ap-
parso un programma (Quark) che
contiene una routine in L.M. per la
riproduzione su carta delle scherma-
te in alla risoluzione del C/l 28 in mo-
do 40 colonne.
Per ottenere fbard copy nel modo
80 colonne puoi utilizzare il nostro
software "Graphie espander’' vendu-
to su disco solo per corrispondenza
che, oltre alla opzione citata, rag-
gruppa numerosi comandi Basic per
la gestione delia grafica in alta risolu-
zione del C/128 in modo 80 co-
lonne.
(Piero Emanuel - Giovi nano)
il nostro software
Il software che noi offriamo ai no-
stri lettori è solo quello descritto nelle
pagine pubblicitarie che compaiono
su C.CC, Per procurarti i programmi
che non fanno parte del nostro elen-
co devi rivolgerti ai negozi spe-
cializzati,
(Alessandro Ungati - Leruini)
Programma carino
Il programma che consente di ri-
portare su carta l'output che hai in-
viato è simpatico e interessante. Con-
tattaci telefonicamente per fissare
un incontro.
(Manco Castelli - Monza)
Modem Commodore
li modem Commodore diffuso re-
centemente nei punti di vendita auto-
rizzati può essere applicato solo al
C/64 e al C/128. Non può quindi fun-
zionare sugli altri computer.
(Pasquale Se a lercio - Roma)
Hat fatto bene
Non preoccuparti: il tuo ultimo ac-
quisto (C/1 28) è un ottimo computer,
pu r se un po' trascurato dalle softwa-
re house. Con il C/128 è possìbile uti-
lizzare tutto il software disponibile
per il C/64 e, ovvi amen e te, potrai col-
legare qualsiasi accessorio valido an-
che per il C/64.
P.S: Grazie per la cartolina della tua
bella città!
(Già ottica Vieste)
Speed Dos e 1541/C
Prima di acquistare il set dì speed
dos, ti consiglio di descrivere accura-
tamente gli apparecchi in tuo posses-
so al negozio cui ti vorrai rivolgere.
(Manco Grande - So fio manna)
C/ 1 6 difettoso
Penso che al tuo C/16, che si com-
porta sempre in modo strano dopo u~
na mezz'ora di funzionamento, fa-
rebbe bene una visitina presso un
centro di riparazioni specializzato.
( Fabio Quinci - Roma)
Ulegal quantity
Sono pronto a scommettere che hai
sbagliato a digitare alcuni dei valori
numerici, presenti nelle righe Data
del programma T/Tapc C/128 (C.CC.
n, 42),
La segnalazione “Ulegal quantity
errori? infatti, viene visualizzata
quando si tenta di Pokare un valore
maggiore di 255 oppure negativo,
(Alessandro Agatea - Saccohngo)
Strani comportamenti
Lo strano modo di operare del pro-
gramma T/Tape C/128 (C.CC, n.42)
dipende certamente dalla errata tra-
scrizione dei valori numerici presen-
ti nelle righe Data,
(Sandro Gian greco - Ernia)
Già pubblicato
Il breve programma che hai inviato
svolge le stesse funzioni di un altro li-
stato che abbiamo già pubblicato
in precedenza.
(Andrea Preziosi - Somewert)
Quante vite?
Non esìste una locazione Specia-
le "cui riferirsi per determinare il nu-
mero di vite o disposizione durante
lo svolgimento dei videogame.
(Gian domilo Pappalardo - Barletta)
14 - Commodore Computer Club
Club
Tra breve pubblicheremo tutte le
notizie relative a quei club di infor-
matica che ci invieranno su dischetto
le informazioni richieste .
(Alberto Bianchì - Cuneo)
Vie 20
Non dedichiamo spazio al Vie 20*
non perchè è uscito di produzione,
ma perchè non vi sono più lettori che
chiedono di parlarne.
(Carlo B reggi - Siena)
Rozzano Club
Non posso pubblicare f indirizzo
del tuo Club per il semplice motivo
che hai dimenticato di inviar!o(!)
(Gennaro Gaetano - Rouano )
Buon programma, ma...
1 programmi che hai inviato su car-
ta sono (forse) interessanti, ma, perla
loro pubblicazione, è indispensabile
che pervengano su disco, corredati
da relativo articolo esplicativo.
(Marco Barateli - Adria)
Ma come hai fatto?
Non riesco proprio a capire come
tu possa aver caricato su C/l 6, dotato
di solo registratore, il lungo program-
ma Ge.Da.Fi. apparso sul N.37 che
richiede esclusivamente il drive per
poter funzionare correttamente.
Forse è questo il motivo dei mal-
funzionamenti di cui ti lamenti.
(Mauro Montana - Pisa)
Indici ragionati
Al più presto pubblicheremo siste-
maticamente l'elenco degli articoli e
dei programmi apparsi sulla nostra
rivista.
(Mauro Strinila - Cagliari)
Troppe domande
Mi dispiace, ma il numero di do-
mande che poni nella (simpaticissi-
ma) lettera mi hanno scoraggiato al
punto di non sapere che cosa rispon-
dere; perdonami!
(Angelo D'Amico - Cava dei Tirreni)
Programmi validi
I programmi che hai inviato su di-
sco mi sembrano interessanti ma so-
no privi delVarticolo esplicativo, in-
dispensabile per proporli ai nostri
lettori: telefonami.
(Tea UsueìU - Roma)
Fuori l’autore
L'autore degli inserti dedicati al
CP/M disponibile sul C/128 (apparsi
sulla rivista "Personal Computer ) è
Pietro Rozzo Mi scuso per Terrore di
trascrizione dovuto ad una serie dì
involontari equivoci.
Pippo
II file sequenziale dal nome "Pip-
po 1 , lungo 66 blocchi (e presente in
un dischetto di Directory)* è il il le e-
la borato dal programma "Cale Re-
sti It” e rappresenta 1^ tabella riporta-
ta nelPinserto “Come usare corretta-
mente Cale Restili” contenuto nel
N.42 della nostra rivista.
(da alcune telefonate)
COMUNICATO
(Esclusiva per (Italia)
La MAGNETO PIASI di Verona è
lieta di informare tutti gli utenti (user),
operatori e rivenditori COMMODORE:
ESCLUSIVA DI DISTRIBUZIONE E VENDI-
TA IN TUTTA ITALIA della • OCEANIC
ELECTRONICS CO., produttrice fra l’altro
del noto FLOPPY DISK DRIVE OC-118 N.
ATIBLE
LOPPY
DRIVE
268.000
+ (VA
J H n.'tr'l. itoti Q I -.-I
COW-OOOfiL ft •*3Sl--y!0
Jo COMMODORI ELidROMCS tld.
Caratteristiche; • Corri patibile 100% con COMMODORE 64, 64 C, VIC 20, Plus 4, C 12B ; in modo 64), 06. • 30% più veloce dei
Disk Drive 1541. • Costruzione a basso profilo - il più compaio Disk Drive reperibile per Có4. • Garanzia 1 anno (con certificato), •
Praticamente esente da manutenzione. • Motore a trazione diretta per un funzionamento silenzioso. • Capacitò di memorizzazione
174 K. Fino a 144 etichette di directory, • 25ó Bytes per settore, 35 tracce. • Peso 2,8 Kg. Dimensioni 200x150x45 mm.
Inoltre; • Massima versatilità ed efficenza. • MTFB - 10,000 ore, • Affidabile e durevole. • Telaio in pressofuso. • Provvisto di com-
mutatore per selezione indirizzo device. * Spia di funzionamento o led multicolore. • Alimentatore esterno - elimina il surriscalda-
mento dd Drive. • Costruzione robusta ma leggera - permette la sovrapposizione di più Drive. • Completo di cavi interfaccia.
Imminente: FLOPPY DISK DRIVE per AMIGA 1010 compatibile, medesimo prezzo.
MODEM per C 64/1 2 8 solo l. 88.000 + IVA. 300 Baud
CGTT V21 Full Duplex. Innesto diretto sul computer. Auto Diai,
Auto Answer. Completo dii Software in Italiano e manuale. \ & .
VASTO ASSORTIMENTO MODEM per tutti i Computer AMIGA, PC 10/20, IBM e
compatibili, OLIVETTI, APPLE ecc. per tutti gli standard: 300 Baud V 21, 1200 Baud V23
(Vidotel), 1200 Baud V22 Full Duplex, 2400 Baud V22 bis, Full Duplex.
GRUPPI DI CONTINUITÀ 200, 250, 500, 1000 VA. UPS e ON-LINE.
s.r.1. - Via Leida, 8 - 37135 VERONA - Tel. 045/504491-501913 - Fax 045/501913
Directory
Tutti i programmi pubblicati su questo numero di Commodore Computer Club, sono registrati su un dischetto ap-
partenente alta serie 'Directory".
Oltre ai programmi citati, sono presenti altri file di notevole interesse per coloro che desiderano realmente utilizza-
re il proprio computer
Sono infatti presenti di solito, anche ì programmi pubblicati sulValtra nostra rivista "Personal Computer", ed altri
file che t in totale ; riempono quasi per intero i 664 blocchi normalmente disponibili ju un floppy disk.
Sono disponibili i seguenti dischetti:
Directory N. 1 (CCC N.34 + raccolta deìVintera Enciclopedia dì routine)
Directory JY 2 (CCC N35 + CCC N. 36)
Directory N. 3 ( CCC N37 + PC N.7 + PC K8)
Directory N. 4 (CCC N J8 + file vari)
Directory N. 5 (CCC N 39 + PC N9)
Directory N. 6 (CCC N 40 + PC NI 0)
Directory /V. 7 (CCC NAl + file vari)
Directory A’ 8 (CCC N.42 + file vati)
Directory \\ 9 (CCC N.43 + file vari)
Directory Al IO (CCC N.44 f file vari)
Come procurarsi i dischetti della serie “Directory'”
Avvertiamo i lettori che NON è assolutamente possibile inviare i programmi su nastro, per intuibili motivi di eco-
nomia ed affidabilità del nastro cassetta.
Ogni numero di ‘Directory" può quindi esser richiesto SOLO su disco inviando LJ 2000 per ciascun disco oltre a
L3000 (fisse) per le spese di imballo e spedizione (indipendenti dal numero di dischi richiesti).
Chi desiderasse la spedizione raccomandata, deve aggiungere altre 3000 lire per Tutteriore affrancatura.
Non ci è possibile inviare materiale contrassegno: si prega di astenersi dal chiedere eccezioni alla regola.
Compilate un normale modulo di C/C postale indirizzando a:
C/C postale A, 37952207
Systems Editoriale
Viale Famagosta f 75
20142 Milano
Non dimenticate di indicare chiaramente, sul retro del modulo (nello spazio indicato con Causale del versamento ")
non solo il vostro nominativo completo, ma anche il numero del disco desiderato: esempio:
'Directory MI"
"Directory NJ ”
"Directory A 14”
Totale:
L12000x3 +
C6000 (spedii, racc,)
= L.42000
(spese di imballo e spedii, racc . comprese/
NB. Per ottenere il materiale ordinato in tempi più ristretti, inviate l importo a mezzo assegno bancario non trasferi-
bile con lettera di accompagnamento: le poste italiane non brillano per velocità! (due mesi circa perii recapito di un
C/C postole).
16- Commodore Computer Club
HARDWARE
Un monitor affidabile
Non sempre un monitor a colori
rappresenta lì meglio per i package
professionali; per non parlar
dell’aspetto economico...
di Alessandro de Simon e
]\^I olle lettere che riceviamo tor-
nano spesso sull'eterno dilemma: è
meglio procurarsi im monitor a colo-
ri, un TY oppure un semplice bianco
e nero?
La risposta è fu tt altro che semplice
perchè, per rispondere correttamen-
te, è in dispensabile sapere l’uso che si
deve fare del sistema di visualiz-
zazione.
Tuttavia possiamo riportare una
scala di valori che rappresenta, a se-
conda dei casi, io schermo ideale:
* TV color domestico. Questo è sicu-
ramente l'opti munì dal punto di vista
dell'economia: è statisticamente di-
mostralo che. nelle case iti cui entra
un computer, è presente anche un ap-
parecchio TV color; quasi sempre,
però, questo ha dimensioni piuttosto
grandi e lo rende idoneo solo per vi-
deogiochi c software di int ratte ni-
ni e ni o. Assolutamente sconsigliato
per lavori di word processing e pro-
fessionali in genere, ove è ridi icsta li-
na grande nitide/ a cd una dimensio-
ne piccola del video.
* Monitor colore specifico per com-
puter. L;\ qualità, rispetto alla solu-
zione precedente, aumenta di parec-
chi punti sia per le ridotte dimensio-
ni dello schermo, sia per la maggiore
nitidezza disponibile. Solo la ripro-
duzione sonora lascia, spesso, a
desiderare,
* Monitor B/N specifico per compu-
ter, F Ideale per lunghi lavori con
software professionale. Non è possì-
bile realizzare, infatti, un video a co-
lori dì nitidezza superiore a quello in
bianco c nero; ne consegue una vi-
sualizzazione di tutto riposo che non
affatica la vista anche dopo molte ore
di lavoro. Non per niente, negli uffici,
trovate quasi esclusivamente moni-
tor monocromatici ,
J modelli Philips
La Philips, industria leader nel
campo del Le le fi conica, offre sul mer-
cato anche modelli in h/n, di alta af-
fidabilità e, soprattutto, basso costo,
T monitor ai quali ci riferiamo sono
dota ti di se h o nn canti ri 11 esso, d i s ta f-
fa di itici in azione c di cavetto con
spina DIN a sei poli (ma sono dispo-
nibili, a parte, tutti i cavetti di adatta-
mento possibili ed immaginabili). In
alcuni modelli è presente la presa per
la cuffia, mentre in tutti gli altri pos-
siamo trovare i soliti comandi: volu-
me. luminosità, contrasto, regolazio-
ne rapporto orizzontale / verticale.
Un utile tasto consente di selezionare
due tonalità cromatiche per lo
sfondo.
La serie di modelli prevede, come
optional, un piede di supporto per o-
rie rotare ed inclinare il monitor nelle
varie direzioni, un parasole per i si-
stemi che dovessero venire installali
nei pressi di una finestra, un porta-
carta, da posizionare ai lati del moni-
to r stc sso, per a 1 k ìggi a re fogl i d a 1 1 i I o-
scritti c facilitarne fevcntuaìe tra-
scrizione.
Un larghezza di banda di 22 Mhz, e
la possibilità di visualizzare fino a
2000 caratteri (schermi dì 80x25) non
lasciano dubbi sulla nitidezza delle
immagini che i monitor Philips sono
^ 9i d G riprodurre. Il consumo,
come intuitivo, è irrisorio: solo 32
INSIEME
Una cedola importante
Nelle nuove confezioni dei prodotti
Commodore è presente uno stampato
che consente di abbonarsi
a condizioni vantaggiose
v_> hi ha appena acquistato un prò-
dotto originale Commodoro negli ul-
timi tempi, avrà sicuramente trovato
un depliant. simile a quello riprodot-
to in queste pagine, che precisa alca-
ne utili cose.
Commodore Computer Club è la ri-
vista ullleiale della Commodore Ita-
liana e, come tale, è il "canale" prete -
rendale per la diffusione di notizie
relative al mondo Commodore.
sioni che riguardassero da vicino i!
mondo dei computer Commodore,
E se il drive, la stampante, il com-
puter o il software acquistato non
possiede la scheda di cui parliamo?
Spettabile
Sv^egimaflosta. 75
rr*m°
V ,v i ,,r
Anzitutto permette, al n co-acqui-
reme. di sottoscrivere un abbona-
mento alla nostra meravigliosa (scu-
sate lim modesti a) rivista a condizio-
ni particolarmente vantaggiose.
Inoltre, come già era del resto avve-
nuto in precedenza, ribadisce che
Non si può negare, infatti, che da
molto tempo (direi da sempre) la no-
stra pubblicazione è sempre stata
dalla parte dcll’u lente con varie ini-
ziative: diffusione di notizie, divulga-
zione di programmi, articoli c recen-
te è, se vi interessa l'abbonamento a
condizioni privilegiate, inviate una
fotocopia della scheda di garanzia
allegata alla confezione: faremo uno
strappo alla regola!
GIOCHI D AZZARDO
Pronostici Totocalcio
Come affidare al computer l’ingrato compito
dì valutare le probabilità di vittoria
delle squadre di calcio.
F inora abbiamo presentato prò-
grammi per lo sviluppo di sistemi
condizionati, ridotti, biridotti ed al-
tri, lasciando al lettore il compito di
stabilire il sistema-base da impostare
per le opportune elaborazioni.
Ciò significa che il sistema-base è
affetto, inevitabilmente, da influenze
soggettive.
In questo articolo proponiamo un
metodo per stilare un sistema, esente
da tali influenze, basato soltanto su
dati di fatto.
I dati ai quali si riferisce il program-
ma, sono relativi ai risultati delle par-
tite precedenti, divisi tra risultati otte-
nuti in casa ed in trasferta.
In base a tali informazioni, il com-
puter calcola la probabilità che si ve-
rifichi il segno 1, X, oppure 2 c, di
conseguenza, propone un sistema di
fìsse, doppie e triple.
Il lettore potrà, poi, confrontare il
sistema base, elaborato dal program-
ma dì queste pagine, con quello che
avrebbe impostato senza 'suggeri-
menti' di sorta: in ogni caso valuterà
la schedina dopo un’opportuna ri-
flessione e, magari, eventuali modi-
fiche.
Come calcolare le probabilità
Riferendoci ad un esempio pratico,
supponiamo di voler calcolare le
probabilità per rincontro tra due
squadre, dal nome poca fantasioso di
GIOCHI D'AZZARDO
“Prima c "Seconda”
Leggendo un quotidiano del lune-
di troviamo i seguenti (ipotetici)
dati:
Squadre In casa Trasferta
V N r V N P
Prima 6 2 0 — — —
Seconda — 0 4 4
Dapprima sì trasformano tali dati
in percentuali:
Prima
Vinte 75%
Pareggi 25%
Perdite 0%
Seconda
Vinte 0%
Pareggi 50%
Perdite 50 %
Un’alta percentuale dì vincite in ca-
sa. perla squadra ospitante, abbinata
ad un'alta percentuale di sconfi tte in
trasferta per la squadra ospite, rende
“quasi " certa la vittoria della squadra
die gioca in casa (segno *T l ); analo-
go c il ragionamento nel caso op-
posto.
Pertanto la percentuale di vìncite in
casa, della prima squadra* viene mol-
tiplicata perla percentuale di sconfit-
te in trasferta della seconda squa-
dra:
Segno ’7 "
75*50 = 3750
Le percentuali di risultato nullo
(pareggio), si moltiplicano tra loro:
Segno X :
50*25 = 1250
Infine, si moltiplica la percentuale
di perdite della prima squadra, con
quella di vincite delia seconda:
fi il^U
Segno 2 ;
0*0 = 0
L'ultima fase consiste nel riportare*
su base percentuale, i risultati ot-
tenuti,.,
I00/(prob."ì > prvb.'T'+ prob."T)
= coeff
„,e. successivamente, moltiplicare
“coeff”. per le singole probabilità.
Nel nostro esempio avremo, per-
tanto:
100/(3750+ 1250 + 0.02
7 ‘V 0.02*3750 = 75
X" 1 102*1250 “ 25
" 2 " 0 . 02*0 = 0
Totale = 100
Tenendo presenti tali valori, si de-
cide se giocare una fissa* una doppia
oppure una tripla.
Il programma
Dopo aver dato il RUN, premete un
tasto qualsiasi e, alla domanda “In-
serisci l'elenco delle squadre?” ri-
spondete con “S“* se intendete inse-
rirlo, “N ' in caso contraria
Se decidete di inserire ì nomi delle
squadre, il calcolatore chiederà, par-
tita per partita* i nomi delle squa-
dre contendenti.
Se non inserite l'elenco delle squa-
dre, verranno subito chiesti i risultati*
in casa per la squadra ospitante* ed in
trasferta per l'altra,
tali dati sono reperibili su qualsiasi
quotidiano del lunedi; tuttavìa è con-
sigliabile utilizzare i periodici spe-
cializzati perchè indicano i risultati*
distinti in casa e trasferta* anche per
la serie R e C*
E' facile constatare che* per una
qualsiasi squadra* i risultati in casa
differiscono notevolmente dai risul-
tati ottenuti in tasfena; utilizzando,
quindi, dati globali, clic non tengano
conto di questa distinzione* si otter-
rebbero previsioni non attendibili.
In particolare, il programma pone
le seguenti domande, riferite alla
squadra ospitante:
* vincite in casa?
m pareggi in ama?
* perdite iti casa?
c* per Tal tra squadra, analoghe do-
mande, riferite ai risultati ottenuti
in trasferta.
Terminata la noiosa fase della digi-
tazione. sullo schermo appare l'elen-
co delle squadre (se inserito prece-
dentemente), seguilo dalle percen-
tuali di probabilità per ì tre possìbili
risultati e, infine, il sistema elaborato
in base alle percentuali citate.
Nel caso vi accorgiate di aver com-
messo errori di battitura durante la
fase di Input* basterà premere il tasto
F3 e indicare il numero del pronosti-
co i cui dati devono essere corretti.
A questo punto appaiono sullo
schermo le informazioni relative al
pronostico* cd il seguenti? menù:
1) cambia nomi squadre
2) cambia dati
5 ) nuda
Premendo il tasto “1 ", si ha la possi-
bilità di cambiare, o modificare, il
nome delle squadre (nel caso sia sta-
to inserito), mentre premendo “2", è
possibile modificare i dati relativi ad
una o entrambe le squadre.
Infine, con il tasto “3 "* sì ottiene di
nuovo la visualizzazione dell'elenco
delle squadre* dei pronastici e del si-
stema (che risulterà diverso dal pre-
cedente, nel caso abbiate apportato
modifiche ai dati di uno o più
pronosttei).
Un listato di utilità
Àlea ni lettori hanno chiesto di poter ri-
versare su stampante le colonne del Jìle
generato con il programma TOT 13 (ap-
parso su CCC n.35).
Il secondo listato pubblicato in queste
pagine, risolve il problema esposto,
SCHEDA TECNICA
Software applicativo per:
giochi d'azzardo
Idoneo per computer: 1764
Facilmente adattabile ad altri
computer Commodore
Consigliato a tutti i lettori
20 - Commodore Computer Club
GIOCHI D AZZARDO
10 REM PR0N0ST1CI TOTOCALCIO
£0 :
30 REM PER C-64
40 :
50 REM BY ANTONIO PASTORELLI
60 :
70 21$“ "SQUADRA OSPI TANTE ”: Z2$
-"SQUADRA OSPITE’’
00 X1$=CHR$C£135 : X£$“CHR$C19£5
: X3$-CHR$C17B5 : X4$-CHR$C201
5 : X5$=CHR$ ( 21 9 5
00 X6$-CHR$C££15 :X7$-CHR$C1715
: XB$~CHR$ (1793 : X9$“CHR$C325
100 XA$=CHR$C£0E5 : XB$=CHR$ C 177 5
: XCS-CHRSC2035 : FOR J=1 TD 7
:XD$“XD$+X£$:NEXT
110 Z3$=”UINCITE” : Z4$= "PAREGG I”
: Z5$— ”PERD I TE ’’ : ZS$— ” IN GAS
A”:Z7$-” FUORI CASA”
120 DIM A1SC135 , A£$C13) ,U1C135 ,
V£C135 , XI C 135 , X2C135 , PI C 135
, P2C135
130 DIM 51C135 , SXC135 , S2C135 : CL
$“CHR$C 1475 : RU$=CHR$C 1B5 : RQ
$-CHR$C 145)
140 SU$-CHR$C 145) : GI$”CHR$C 17 5 :
HOS-CHRSC 19 5 : HGS-HOS+G I$+GI
$+ 61 $
150 PRINTCL$RU$X9$X9$X9$X9$’’CAL
COLO PROBABILITÀ ' TOTOCALCI
0 ” X9$X9$X9$X3$
1E0 NR-13
170 GET A$:IF AE-”’’ THEN 170
100 PR I NTCLS ” I NSER I SC I L'ELENCO
DELLE SQUADRE?”
190 GET A$:IF AS“”5” THEN SQ-1 :
GOTO ££0
£00 IF A$-”N” THEN £70
£10 BOTO 190
£E0 FOR J-l TO NR
£30 FRI NTCLS "PRONOSTICO” : J; GIS
£40 FRINTZ1E; : INPUT A1$CJ5.:IF A
1SCJ5-”” THEN PRINTSUS; : GOT
D £40
£50 PRINT2ES; : INPUT A2SC J5 : IF A
£$ C J 5 - ” ” THEN PRINTSUS; : GOT
□ £50
£60 NEXT : PRINTCLS ; IF SQ-1 THEN
400
£70 FOR J-l TO NR
£80 PRINTCL$RU$”PRONOSTICO”; J;G
1 $
£90 PRINTZ3$Z6$” ”21 $ ; *1 NPUT U1
C J 5 : I F U1CJ5<0 THEN PRINTSU
$; :GOTO £90
300 PRINTZ4EZES” ”Z1$;: INPUT XI
C J 5 : 1 F XI C J5<0 THEN PRINTSU
$; :60T0 300
310 PRINTZ5SZ6S” ”21$;: INPUT PI
<J5:IF PI C J5<0 THEN PRINTSU
$; : GOTO 310
3£0 IF U1CJ5-0 AND X1CJ5-0 AND
P1CJ5-0 THEN £80
330 FRI NTG I $G I $
340 PRINTZ3$Z7$” ”2E$;: INPUT U£
C J 5 : I F U£CJ5<0 THEN PRINTSU
$; : GOTO 340
350 PRINTZ4SZ7S” ”2£$; : INPUT X£
C J 5 : IF X2C J5<0 THEN PRINTSU
$; : GOTO 350
360 PRINT25$Z7$” ”Z£$;: INPUT P£
C J 5 : I F PEC J 5 < 0 THEN PRINTSU
$; : GOTO 360
370 IF UECJ5-0 AND X2CJ5-0 AND
PECJ5-0 THEN FRINTSUSSUESUS
; : GOTO 340
380 GOSU8 1780: IF RP-1 TKEN £B0
330 NEXT: GOTO 540
400 FDR J-l TO NR
410 FRI NTCL$RU$” PRONOSTICO ” ; J; 6
1 $
4£0 PRINTRUSA1SC J5 ” : ”R0$23$Z6$;
: INPUT UIC J5
430 IF U1 ( J 5 < 0 THEN PRINTSUS; :G
OTO 4£0
Commodore Computer Club -21
440
4.50
460
470
400
450
500
510
580
530
540
550
560
570
5B0
590
600
610
680
630
640
650
650
670
600
590
700
710
780
730
740
750
760
PRINTRUSmSCJ} "RDSZ4SZ6S;
: INPUT X1C J)
IF X1CJX0 THEN PRXNTSL13;:G
□TO 440
PRINTRU5A1SC JV J : ”R0$Z5$Z6$ ;
: INPUT P1C JD
IF P1CJX0 THEN PRIN!SUS;:G
OTO 460
IF U1CJ3-0 ANO XKJ3-0 AND
PI ( J )=0 THEN 410
PRINTGI96IS
PRINTRUÌA8SC JT) " i ”R0S23SZ7$;
: INPUT U8C J)
IF U8CJX0 THEN PRINTSUS — G
□ TQ 500
PRINTRUSAaSC J)” : "ROS; Z45Z7S
; : INPUT X8C JD
IF X8CJX0 THEN PRINTSU5;:G
□IO 580
PRINIRUSA8SC J3 ” : ”RQS-Z5ffiZ7$
i : INPUT P8CJÌ
IF P8CJX0 THEN PRINTSU$ ; rG
□TQ 540
IF U8CJX0 AND X2CJ5-0 AND
P8CJ>-0 THEN PRINTSUSSUSSUS
; : GOTO 500
60SUB 1700 ; I F RP-1 THEN 410
NEXT
m
r
REM
REM CALCOLO PERCENTUALI
REM
Ai
POR J=1 TD NR
S1“U1CJ1*P8C J1 : SX-X1C J1*X2C
J1 :S2-P1 C J3*UeCJ)
IF S1+SX+SB-0 THEN S1CJ1-33
:SX( JI-33:S5CJ?-34: GOTO 630
FR-100/ CS1+SX+S21
S1CJ>=INTCS1*FR) -SXCJ)“INTC
SX*FR) : SBC J> = 100-51 CJl-SXC J
>
IF RT-1 THEN RETURN
NEXT
*
REM
REM STAMPA PERCENTUALI
REM
IF SD-1 THEN TA-17
770 PRINTCLS TABC TA 1 X1$X2$X2$X3
®X2SX2$X2$X3$X2$X2$X2$X3$X2
$X2$X2$X4$
780 PR1NT TAE C TA ) X6S> "NR ”XB5 ” 1
"X6S” X "XGS" B ”X6$
790 PRINT TABC TA3 X7$X8$X2$X5SjX2
SX2$X2$XSSX2$X2SX2$X5$X2$X5
$X2SXB$
800 X”0:FOR J-l TO NR
B10 PRINT TABCTA3X6$X3$X3$X6SX3
$XSSX8SX6$X8$X9$X9$X6$X9$X9
SX9SX6S
320 X-X+1:IF X>2 AND J<10 THEN
840
630 NEXT: GOTO 850
B40 PRINT TABCTA)X7$X2$X2$X5SX2
$X2$X2$X5$X2$X2$X2$X5$X2SX2
$X2$XBS : X-0: GOTO 830
850 PRINT TABCTA)XA$X2$X2SXB$X2
SX2$X2$XB$X2$X2$X2$XB$X2$X2
$X2$XC$
860 IF SQ=0 THEN 330
870 PRINTH0SGISGISX1SX0SX3SXDSX
4$
BB0 X“0 : FOR J“1 TO NR
BS0 PR I NTX6SSPCC 7 ) X656SPCC 7 1 X6$ :
X-X + l.-IF X>2 AND J<10 THEN
910
900 NEXT; GOTO 920
910 PRINTX7$XD$X5$XDSXB$: X=0:GO
TO 900
320 PRINTXA$XD$XE$XD$XC$
930 PRINTHO$GI$GI$;
940 PRINT TAB(33)X12?X8S>X8S>X8!BX4
$ : X=0 ; FOR J-l TO NR
950 PRINT TABC33)XE$X9$X9SX9$X6
$ ; X=X + 1 : I F X>2 AND J<10 THE
N 970
9S0 NEXT: GOTO 9B0
970 PRINT TABC 33 1 X7$X2£X2$X8$XB
$ : X”0 : GOTO 360
980 PRINT TABC 331 XA$X2$XB$X2SXC
$
990 IF SQ-0 THEN 1040
1000 PRINTHGS; ; X-0 ; POR J-l TO NR
1010 PRINT ”C R IGHT3 ”LEFT$ C A1$C J 1 ,
71 TABC91LEFTSC A2*C J1 ,7) : X~
X+lsIF X> 2 ANO J<10 THEN 10
30
22 - Commodore Computer Club
prossima apertura
< ... .
V!*V.' ■'* V ? _• .
Slip
iÉfe ■ i
SN >. • ' - ■• Sfi i
>,■ ■ -
GIOCHI D AZZARDO
1020
1030
1040
1050
10E0
1070
10B0
1050
1100
1110 PR
J 3
1120 X=
11
1130 NE
1140 PR
1150 PR
: A:
1160 IF
1170 IF
NEXT : GOTO 1040
PRINTGII; : X=0: GOTO 1020
PRINTHGS; :X«0: FDR J-l TQ NR
PRINT TABCTA+4-LENCSTRIC J3 3
3 ; MIDICSTRIC J3 ,2,21: X-X + l : I
F X> 2 AND J< 10 THEN 1070
NEXT; GOTO 10B0
PRINTGII; : x=0: GOTO 1060
PRINTHGS; ; X=0 : TA-TA+8 ; FOR J
=1 TO NR
PRINT TABCTA-LENCSTRICS1CJ3
3 3 3 ;MID$CSTR$CS1CJ3 3,2, 33;
PRINT TASCTA+4-LEN C STRI C SX C
J1 1 1 1 ; MIOSCSTRICSXC J3 1,2,3)
PRINT TABCTA+8-LENCSTRICS2C
J3 3 3 3 ; riID$CSTRICS2CJ) 3 ,2,31
X=X+1;IF X> 2 AND J<10 THEN
1140
NEXT: GOTO 1150
PRINTGII; ;X=0:GOTO 1130
PRINTHGS; : x=0; FOR J=1 TO NR
: AI-” "
IF S1CJ3>22 THEN AS-"Ì”
IF SXC J )> 22 THEN AS=AS+”X”
1180
1130
1200
1210
1220
1230
1240
1250
1260
1270
1280
1230
1300
1310
1320
IF S2 C J 1 > 22 THEN AI«A$+”2”
IF A$= ”1X2 ” THEN 1220
IF LENC AI3-2 THEN AI=" ”+AÌ
: GOTO 1220
A$= " ”+AI
PRINT TABC37-LENCAI33RUIAI:
X—X+ 1 : I F X>2 AND J<10 THEN
1260
NEXT
PR I NTG I $G 1 IRUI ” ’ FI ’ : RESTAR
T ’ F3 ’ : HODIFICH
E”
GOTO 1270
PRINTGII; : X-0: GOTO 1230
GET AS.-IF AI-CHRIC 133) THEN
RUN
IF AI-CHRIC 134 1 THEN 1300
GOTO 1270
PRINTSUISUI; : FOR J=1 TO 40;
PRINTCHRIC32) ; : NEXT: PRINT
FOKE 214 , 21 : SY55B640
NI=0: INPUT "NUMERO INCONTRO
” ; N I : I F NK0 OR NI>13 THEN
1310
1330 IF NI»0 THEN POKE 214,15:SY
S5B640 : GOTO 1240
1340 PRINTCLS” INCONTRO NR:”;NI
1350 PRINTGII TABC23) "UINTE NULE
E PERSE”
1360 IF SQ-1 THEN PR I NTA1 $ C N I 3 ; :
GOTO 1380
1370 PRINT "SQUADRA OSPITANTE”;
1 3B0 PRINT TABC26-LENCSTRICU1 (NI
))))U1CNI3 TABC32— LENC STRIC
X1CNI))))X1CNI);
1390 PRINT TABC3B-LENCSTRICP1CNI
))))P1CNI)
1400 PRINTGII; :IF SQ-1 THEN PRIN
TA2ICNI 3 ; : GOTO 1420
1410 PR I NT "SQUADRA OSPITE”;
1420 PRINT TABC26-LENC5TRIC U2CNI
))))U2CNI) TABC32-LENCSTRIC
X2CNI 1 3 3 3X2CNI 3 ;
1430 PRINT TABC3B-LENCSTRSCP2CNI
3 3 3 3P2CNI 3
1440 PR I NTG I SG IIGI I "COSA MDDIFIC
HI?”
1450 PRINTGII”! 3 NOMI SQUADRE” :PR
I NT ”2 3 DATI SQUADRE” ; PRI NT ”3
3 NULLA”
1460 GEI AI:IF AI“”1” THEN 1500
1470 IF AI- ”2” THEN 1570
1400 IF AI-"3” THEN TA=0:GOTO 76
0
1490 GOTO 1460
1500 IF SQ=0 THEN 1460
1510 A$= ” ” : PR I NTCLI TABC193A1SCN
I 3 : PRINTHOS; : INPUT "SQUADRA
OSPITANTE” ; AI
1520 IE AI- ” ” THEN 1510
1530 A1SCNI 3 -AI
1540 AI— ” ” ; PR I NT TABC 1S3A2SC NI 3 :
PRINTSUI; : INPUT "SUADRA OSP
ITE”; AI
1550' IF AI- ” ” THEN PRINTSUI; ; GOT
0 1540
1560 A21CNI3-AI: GOTO 1340
1570 PR1NTCLI ; ; IF SQ-1 THEN PRIN
TA1ICN I 3 : GOTO 1590
15B0 FRI NT "SQUADRA OSPITANTE”
1590 PRINT TABC 143U1 CNI 3 : PR INTSU
I; ; A-0
1400
1410
1420
1430
1440
14S0
24 - Commodore Computer Club
NEGOZIO AL PUBBLICO
E VENDITA PER CORRISPONDENZA
CASH & CARRY
20155 MILANO - Via Mac Mahon, 75
tei. 02/32.34.92 - tei. 02/32.70.226
Attualità elettroniche e Microcomputers
64,123 L 110,000
Ho Ami tiretto per commodoro W, 300
band cor soft e manuale ftal iano»
DRIVE IMI COMPATIBILE per 64/12® L 340,04)0
DRIVE Ì541/C QRtGlHALE ner S4 12B L 300.000
DRIVE 1571 eia 360 K per wm L 400,000
DRIVE 1 BRI 3-1/2 SOI K per &4/12B L 470,000
MGOSt 1531 ong comuriCOOfe 64/129 110,000
NUOVA GUIDA AL CP M 3.0 Cormcdore T2S ir, tìsliano a sale L
THE NEW RNALCARTRIDGE
III
per 64/133 imwJo 64} L 68.000
L’evdLEone cofrtiftjs!!!
Eccovi E'uRima reiea^ d& mitica
certuaSa nslevc^nente migtmta e
" r xx£ ; i£3tc. Tuìmìè lÈvotoa routine
d^c- Èpeodos su cartuccia fino 4 10
frù «late $4 in lsttw& che in
tettici g tasti funame
programmali. 24 K ram per i grog.
4i Base. Un favoloso sprcietme di
PROCESSORE VOCALE (VOI-
CESYHTERC)
L, 115.000
Dsgrtaf zza tare vocale Iseo ‘'Voice
Master" notovefinerrte miglioralo
composto a interlaccja haneware
- mscftstono software htorsmeròe
in ita! ino con ampio manuale di
iatrwfcni. Incrsdibtfie, la parlare,
cantare il tuo Cornmcdore 64 poi
programmarlo a fin Che Conosca la
tua voce e li risponda.
DOUBLÉ SH>E iOT [NOVITÀ]
L L 0.000
Per scrivere sulla seranog taccia
del d$po seria più forarle! !!
AM3TRAD PC 512K còri i DRIVE nuova processore 6066 sborda 1 dos mi-
erosoti 3.2 e GEM in onagro a sole X 990.000
IVA 1S% COMPRESA
INTERFACCIA MIDI
L 09,000
Per cdtegsm ira -aÈl^era midi ad
AMIGA.
AMfiGASOO-SIfttRAM > DRIVE INC, 1MB + MOUSE ALIMENTA-
TORE BASIC + ^OPERATIVO >■ GARANZIA 12 MESI COWNOOOflÉ
a sete L 939.000
D^hi e cassette IN UN SOLO
FI LE ?| ! pJ— boat SS necessita Inolne
ha incorporalo H GA>ME KILLER
(evita le cenisene degii sprile ed ha
ben 40 comsnd. Base Turbo a
tìiÉposcione ...HARDGCFY HP M
faeme'idc lt- sdp tasta potrete firn
1‘haraccpy del video in !2
yadaàMH a ^Igia.
MODIFICA MP$ 602 NEX
GRAMHCPLU5
t. 35.000
EcceiiOfiEle rende 100 % compati-
bile la tua Mf'S SQ2 con turii i gro-
cramrrt di grafica coma IKOIA
FRI WT SHOP GEOS eco...) sempk
cisaima da molare con chiavi
Istaffiona in itaHanc! !
AMIGA 3000 - m + 1 DRIVE +■ MOUSE - MONITOR HR + Sto + SASSO
WGIWEW
L 160.000
Per digitsimas se tue pie belle im
magini.
SCHEDA XT-iOARD per A, 2000 cw drive 5-1/4 e S/O L. 1£W
- MONITOR DEDICATO PHIUPS BS33 STEREO % Al A GA
Lmooo
STAMPANTI CENTRONICS PER COMMODORE AMIGA
- SMITH CORONA - S3 cps NLQ U 250.000
- COMMODORE MPS 1000 - 1!» epa NIC L 580.000
- STAR NL 10 - 126 epe NLQ L 599,000
SYNTETTC SOUND
i. 100.000
Ree (AjtafczzatP la tifi voce e/o
suoni.
DISPONIBILI TUTTI I PEZZI DI RICAMBIO COMMODORE 04
SL-JN-I FAFTICOIARI PER RMBUffOfi L DUAMIT/ri'Jl TELE-CNA T E!
PER ULTERIORI INFORMAZIONI RIChlffifTE F CATALOGHI PER IL
VOSTRO COMPUTA SPECIFICANDO IL SETTORE. INVIANDO L 1.000
in frarcoboli ftcpfàs che ala NEVEL trev anche lutto per
COMMODORE AMIGA 64-126 MSX. SWCLAlR ZX 5 QL ATARI 5! e
PC compatìsll
EPROM NEW GHAPHIC MPS
801
L £5.000
3 sostituisca a ger^etott di ca-
ratteri defe siampantE MPS-S01
iptY mà^torare la ^ggibiìra dalla
scrittura C 2 * discundentii.
ALLINEATONE
TESTINA + TURBOT APE
(CARTR1DGE) L. 29.000
Indispensabile per non avere più
proti^ni c# -cwviesm&rvLo.
L 290.000
Eaesortate n ovili un dtgitsìiEia
tare aucb e video in un ikiioq ap
parecchio ! 1 1
FILTRO AHT1DISTURB0 {uni-
versale}.
L. 25.000
Guestd stupendo apparsctìvo vi
aiuterà a risedere ad a prevenire
moitissri problemi.
Adesenpiu stalli dicarToritesono
rgtali per un computEf. tnoltrevi ip*
glit <Ssturi> che possono irrfture
mrrrfi eislorsione del videa, ewo
biemi ni carcamentd pagrnmni-
eoe. ..{utilissimo}.
PENNA OTTKA
GRAFICA (Brìo Peri Lussa}
L 49.000
Favoiasa penna Gdica per
Mvmwdore 6< a T26 [modo 54)
'iCiTipSeià di software ccmptèt;: d
gestione grafico sia si crissella
che su ri soo il tutto è Pelato ci
Rinvieni in ifaliara
STARDOS NEW! Eccezionale novità un vetociaalQffi che Sùpera i^lna r=
velocità deilc- speed-dos abiva i tasti funzione eoe. lo una sola Epnom krt ria
infiérirBi nel c&4 con marmala in rial. Non necesita di etaborazren i dnvE ne
del cavo parafo. Em dda? ora anche gn disco copiatori v^ìocàssiniof!!
L 1.450.000
Favoloso rrtiJter video!!!
L, 39.000
CARTRiDGE 0 d col, L 39.000
RérmetlÈ di visuisirnane le 3Ù oikXMve sul 6J.
L 39.000
VIDEO DIGITAL 64 .Nlxivo visua zzatole in cartwida, digitaiizza e lue p-c
bsiie immagini rcn l'aiuto di ima tetecamera o viòeofegislratofa swnpldssitno
dj usare con mar^tsale in italiane, inahre è pagabile modificare le Imma^rì
con ri KOALA ecc,
ORI VE AGGIUNTIVO
CAVO SCART
ESPANSIONE 0,5
a un monrtor o tv scan
DRIVE AGGIUNTIVO
L 209.000
per COMMODORE AMIGA 2000
L 99.000
{programmai Urite le epram lino alle 27250) il tutto
COtfetSato di garanzia orig ra^
e manuale italiano.
CAVO STAMPANTE
L 35.«K?
per CQMf^QDORE AMIGA SOft'
1000^000
ADATTATORE TELEMATICO COMMODORE
647129 L 149,000
Ecc/wi ;l nuavp ^maclefT: psgiia conmadcre 300-' 1 1200-75 hsuc auledi aanaraer
completo di software su epnom in ita ianc «altre compio Labbbaca 1 nento per un
enne al i deate flC alie pagine ga le sp Isolo etesii du§ servii' superane
abbordantemente i costo dd modem) 1 ! 'Ì! ? ! ! T
Psr COMMODORE AMIGA.
HARD DISK 20 MB
L 1190,000
per COMMODORE AMIGA 50GJ
lOGO^OOO
KICKSTART SU ROMA 1 .2
PLUS ESP, £5S per AMIGA
lOMItkfWtort
JOYSTICK
a partire dà L 9.900
universali 9 p*i per AMIGA
PREZZI rVA COMPRESA
SCONTI SII QUANTITÀ, SPEDIZIONI IN TUTTA ITALIA
GIOCHI D AZZARDO
1600
1610
1620
1630
1640
1650
1660
1670
1600
1630
1700
1710
1720
1730
1740
1750
1760
1770
1700
1730
1000
1810
1B50
INPUT "UINTE IN CASA";A:IF
A<0 THEN PRINTSUS; : GOTO 160
0
U1 CN I )=A : A*=0 : PRINT TAB£16)X
1 C NI 5 : PRINTSUS;
INPUT "PAREGGI IN CASA" ; A : I
F A< 0 THEN PRINTSUS; : GOTO 1
620
X 1 £ N 1 )“A : A“0 : PR I NT TABC16)P
1(NU : PRINTSUS;
INPUT "PERDITE IN CASA”; A: I
F A<0 THEN PRINTSUS; : GOTO 1
640
PUNICA
IF UlCNI)-0 AND XI CNI )=0 AN
□ PI £NI )=0 THEN 1670
PR I NTCLS ; : IF SQ=1 THEN PRIN
TA£$£NI ) : GOTO 1630
PRI NT "SQUADRA OSPITE”
PRINT TABC17)U2CNI ) : PRINTSU
S ; : A 5 "©
INPUT "UINTE FUORI CASA”; A:
IF A< 0 THEN PRINTSUS; :G0TC
1700
U2CNI )=A: A=0: PRINT TABC1S1X
2 £ N I ) : PRINTSUS;
INPUT "PAREGGI FUORI CASA”;
A : I F A<0 THEN PR I NTSUS ; : GOT
0 1720
X2CNI )“A : A“0 ; PRINT TABC1S)P
2CNI) : PRINTSUS;
INPUT "PERDITE FUORI CASA”;
A : I F A<0 THEN PR INT5US ; : GOT
D 1740
P2CNI )=A
IF U2(NI)=0 AND X2CNI)=0 AN
D P2£NI 5=0 THEN 1670
RT=1 : J=N I : GOSUB 650:RT-0:GO
TO 1340
PRINTGI SG1S "CONFERII I ?”: RP=0
GET A$ : I F A$= ”S” THEN RETUR
N
IF A$="N” THEN RP=1: RETURN
GOTO 1730
END
130
140
150
100 REM STAMPA COLONNS DEL FILE
110 REM GENERATO CON TOT-13
120 REM CC.C.C. N.35)
170
180
190
200
210
220
230
240
250
260
270
£00
230
300
310
320
330
340
350
360
370
300
330
400
REM BY ANTONIO PASTORELLI
*
PRINTCHRSC 1471 TABC 11 1 "TOT”
PRINTCHRSC 19) ;: INPUT "NOME
FILE"; AS : I F A$="” THEN 160
PRINTCHRSC 17) “ I L FILE ”AS”
E’ REGISTRATO SU:”
PRINTCHRSC 17) ” DISCO”
PRINTCHRSC 145) ; ; INPUT DOS : I
P DU$= "DISCO” THEN 220
IF DU$="NASTRO" THEN 240
GDTD 130
OPEN 1,0,15: CLOSE Ì^IF STO
0 THEN PRINTCHRSC 147) "ACCEN
DI IL ORILE . " ; STOP
OPEN 1 , 8, 12, A$+” ,6, R" : GOTO
250
OPEN 1, 1,0, AS
OPEN 2,4,15: CLOSE 2:IF STO
0 THEN PRINTCHRSC 147) "ACCEN
DI LA STAMPANTE . ".-GOTO 350
OPEN 2,4,7
PRINTCHRSC 147) ” ’S ’ PER INTE
RROMPERE LA STAMPA."
INPUT#1 ,NR: X-0: FOR J=1 TO N
R:PRINT#2, TAB C 7-LEN C STRS C J
)))CHRSC18)JCHRSC146);
FOR X-l TO 13: GOSUB 370
I NPUTttl , A : I F A=1 THEN A$=”l
IF A-2 THEN AS*=”X”
IF A=3 THEN AS="2”
PRINT#2 , AS ; CHRSC32) ; : NEXT : P
RINTttE : NEXT
PRINT#2 : CLOSE 2
CLOSE 1
END
GET 2S : IF Z$="S" THEN 330
RETURN
PRINTCHRSC147) "PREMI UN TAS
TQ PER CONTINUARE ...”
PRINT ”0 ’F' PER FINE STAMPA
410 GET 2$ : I F 2$=”F" THEN 340
420 IF Z$o’”’ THEN PRINTCHRSC 14
7 ) ” ’ 5 ’ PER INTERROMPERE LA
• 5TAMPA , " : RETURN
430 'GOTO 410
440 END
26 - Commodore Computer Giub
GRAFICA
Usa asano di grafica
Una nuova iniziativa che sicuramente sarà
apprezzata dai nostri lettori più affezionali;
ma anche dai nuovi utenti Commodore
di Alessandro de Simon e
“FI
U ove è possibile trovare ini or-
inazioni su un determinato argo-
mento?"
Chi non si è mai posto questa do-
manda scagli il primo computer!
Poiché, anche noi della redazione,
tacciamo ormai fatica a rintracciare i
titoli ed i programmi pubblicati sulla
nostra rivista, ecco clic abbiamo de-
riso di pubblicare, ogni mese, un e-
kneo ragionato degli argomenti af-
frontati di recente su Commodore
Computer Club,
in queste pagine troverete ì titoli di
articoli e programmi riguardanti solo
la grafica computerizzta, pubblicali
nelTarco degli ultimi dodici mesi: da
ottobre T 8ó (n.35) fino a settembre
"87 (n ,45).
Fra parentesi è riportato il numero
del fascìcolo, mentre un breve rias-
sunto ìndica succintamente il conte-
nuto del farti colo stesso.
I numeri di Directory, che conten-
go n o gl i c ve ntu ali file p rog ramina* si
possono determinare tenendo conto
che al n.35 di C.C.C? era associato il
n.l di "Directory'?
Naturalmente promettiamo di pub-
blicare, mese per mese, reieneo ag-
disparali*
(35) G rapine expander C/128 in 80
colonne
Recensione che descrive la sintassi
dei comandi aggiuntivi in Basic rela-
tivi al software disponibile su disco
presso la Systems Editoriale,
(35 ) Tutto xugìi sprite
Un articolo didattico per sapere tutto
ciò che desiderate sulla gestione di u-
no sprite.
(35) Cancella finestre schermo
Routine Basic deirencielopedia che
consente di cancellare una porzione
rettangolare del video di un C/64.
Commodore Computer Club - 27
GRAFICA
(35) lampeggio righe schermo
Roul ine Basic dclfciiddopcdia che
rappresenta una delle numerose ver-
sioni disponibili per far lampeggiare
una riga di lesto del video di un
C/64.
(36) Conversione di coordinate
Routine Basic dell'enciclopedia che
converte coordinate cartesiane in po-
lari e viceversa.
(36) Definizione Sprite
Routine Lm. del rene iclo pedi a che
consente di simulare, in Basic, la tec-
nica di definizione di uno sprite pro-
pria del Simon s Basic.
(36) Sprite Tool
Routine Lm. del Le nddopedia che
consente di individuare tutti i para-
metri relativi ad un determinato spri-
te mediarne una semplice Sys dotata
di ben otto parametri,
(36) Collisione
Routine Lm. dcUencìclopedia che
consente di determinare facilmente
l'eventuale collisione tra due sprite,
(37) Si ivi t
Quattro routine Lm. del l'enciclope-
dia che riproducono lo scroti ing del
video (in modo lesto} nelle relative
direzioni possibili.
(37) Scrine rotanti
Routine Basic del fe nddopedia che
visualizza sullo schermo del C/64
scritte scorrevoli ad una velocità
p rogram inabile,
(37) Piai in media risoluzione
Routine Basic delfencidopedia che
consente di adattare lo schermo in
modo testo del C/64 in un’area grafi-
ca di 80x50 punti.
(38) Koala per C/16
Un breve programma in Basic che
consente di sfruttare completamente
le risorse grafiche del piccolo com-
puter.
i
(38) Mìni disegni con la tua stam-
pante
Un divertente programma in Basic
per creare simpatici disegni da ripor-
tare su carta,
(38) fi primo giorno di scuola
Alcuni programmi grafici dimostra-
tivi per il C/64 dotato di emulatore
Gw-Basie,
(38) Dmw in bassa risoluzione
Routine Basic delle nddopedia per
tracciare semplici disegni sullo
schermo del C/64.
(38) Due programmi ... ipnotici!
Richiedono le routine di fonia q uesu
due brevissimi programmi per C/64
che generano meravigliosi effetti gra-
fici programmabili.
(39) Il giardino elettronico
Un brevissimo programma grafico,
che richiede le routine dì Toma, per
la generazione di meravigliosi dise-
gni pseudo-casuali sullo schermo del
CY64,
(39) Sprite scanner
Routine Basic d cirenei ciò pedi a che
permette di esaminare la memoria
alla ricerca dell'arca RAM che con-
tiene le informazioni relative ad un
certo sprite.
(39) Una tavolozza per il tuo C/128
Un programma grafico scritto in Ba-
sic 7,0 che consente di "eseguire dise-
gni sullo schermo del potente com-
puter in alta risoluzione.
(39) Riempi schermo
Routine Lm. del le nddopedia che
riempe istantaneamente lo schermo
del C/64 con un carattere preceder; te-
mente indicato.
(40) Un anima(zìone) per l Amiga
Recensione dei programmi "Acgis A-
rumator" e "Aegis Images' per
Amiga.
(40) Page set/reset
Routine LM ddlencidopcdia per se-
lezionare la pagina testo o la pa-
gina grafica.
ce - Commodore Computer Club
GRAFICA
(39) Caleidoscopio
Un semplice programma, per C/64,
per la generazione di suggestive im-
magini simmetriche e casuali,
(39) Cune e simmetrie
Un brevissimo programma grafico,
per C/16, Plus/4 e C/l 28. che serve a
generare bellissime immagini sim-
metriche pseudocasuali.
(39) Accensione sprite
Routine Basic deirencidopcdia che
provvede alla gestione completa del-
le operazioni elementari che riguar-
dano uno sprite,
(39) Movimento sprite
Routine Basic dell enciclopedia che
consente di visualizzare la posizione
attuale di un qualsiasi sprite.
(49) Page CÌear
Routine LM dell'enciclopedia per
cancellare la pagina grafica.
(40) Page color
Routine LM de JTen ciclo pedi a per
accendere o spegnere un singolo
punto nella pagina grafica.
(41) Hopaìong: matematica e fantasia
Un 'applicazione m atemat ico-g rafie a
per plottare meravigliose immagini
pseudo-casuali con le routine di
Toma.
(41) Grafica in Gw- Basic
Un breve programma che chiama in
causa numerosissime istruzioni gra-
fiche del simulatore Gw-Basie,
(41) Koala printer
Come riportare su stampante un di-
segno in alta risoluzione eseguito
con un C/16 oppure con un Plus/4,
(41) Grandezze analogiche
Routine Basic deirencidopcdia che
utilizza la posizione reciproca di piu
sprite per visualizzare grandezze
proporzionali.
(42) Rotazione dì solidi in Hi-Res
UrPapplìcazione grafica di eccezio-.
naie interesse per coloro che utilizza-
no le routine dì Toma con il C/64.
(42) Un pollo a testa, anzi nessuno
introduzione alla statistica mediante
un programma che richiede il pre-
ventivo caricamento del simulatore
Gw- Basic*
(43) Quando uno schermo non basta
Un breve programma in Basic c l.m.
(con disassemblato commentato) per
tenere costantemente in memoria
due schermate grafiche del C/128, ri-
chiamabili a piacere.
(43) Grafica in Basic 3 5 e. 7,0
Due programmi, validi per C/16,
Plus/4 c C/128, idonei per studiare le
potenti istruzioni grafiche dei com-
putercitati, Ed inoltre una routine di
hard copy per lo schermo in alta riso-
luzione del C/128.
(44) Sprite mover
Una routine l.m. deirencidopcdia
(con disassemblato commentato) per
spostare uno sprite sullo schermo del
C/64 e rilevare eventuali collisioni,
(44) H/Copy Hi-Res
Una routine l.m. deirencidopcdia
(con disassemblato commentato) per
riportare su caria una schermata in
alta risoluzione del C/64.
(45) À grandi linee
Un programma per capire in che mo-
do il C/64 gestisce la mappa di. me-
moria Rom in cui sono allocati ì ca-
ratteri di cui dispone.
(45) Artisti si diventa
Un programma di mi ni-CAD, scritto
in Basic, valido per C/16, Plus/4 e
C/128.
(45) Espansione gratuita di memoria
Ram
Come disporre di parecchie centi-
naia di byte in più ricorrendo ad un
semplice trucco di programmazione
sul C/16,
(45) Il peso della velocità
Inserto didattico che dimostra, con
vari c semplici programmi, l i inpor-
tanza della velocità di elaborazione.
(45) Incornicia risultati
Routine in Basic delFencìclopcdìa
che permette di rendere più efficace
la visualizzazione di messaggi e valo-
ri numerici,
{45} Uno schermo in frantumi
Programma l.m, con disassemblato
commentato, per utilizzare, con C/64
e drive, le .schermate grafiche del pro-
gram ma Print Shop all scopo di otte-
nere effetti grafici interessanti.
(45) Programma grafico universale
Un programma in Basic che funzio-
na allo stesso modo se digitato su
C/16, Plus/4, Amiga, C/64+ Emula-
tore Gw-Basìc e C/128!
Commodore Computer Gfub - 29
DIDATTICA
Peek, Poke
e Sys per C/64
Continua la rassegna dei comodi comandi
Basic che consentono anche l’accesso
a routine in linguaggio macchina
di Koberto M orassi
-P er resecare {cioè riportare ai va-
lori iniziali) i puntatori RAM del Si-
stema Operativo che siano stati alte-
rati, non c sempre necessario il Reset
completo (SYS 54738) che, oltrerutto,
effettua il NEW del programma in
memoria*
Ecco una serie di SYS, che rimetto-
no a posto specìfici gruppi di punta-
tori, e che saranno apprezzate so-
prattutto dagli utilizzatori 'evoluti"
dal momento che possono essere u-
sate solo in casi particolari:
SYS 65418
Resetta i puntatori di input / output
compresi fra S03 1 4 - 0333 (dee* 788 -
819), e cioè SAVE, LO AD, STOP,
IRQ, NMI, RRK eccetera.
SYS 58451
Rosetta i puntatori all’inizio della pa-
gina 3 ($0300 - 030 R, dee. 768 - 779),
comprendenti 11 LIST, warm -start
messaggi di errore e decodifica paro-
le Basic.
SYS 58870
Resetta i puntatori di inizio c fine
della zona Basic (S2B-2C $37-38:
dee. 43-44, 55-56).
SYS 58303
Resetta il puntatore 1J5R, quelli arit-
metici, quelli di inizio e fine Basic, e
Ja routine CHRGET ($73-8 A, dee.
115 - 138). Non si può eseguire da
programma, perchè genera un Syn-
tax Error.
SYS 58792
Resetta il chip video VIC-II a$D0OG-
D02E, comprendente i puntatori de-
gli sprites, i colori di schermo, i ban-
chi di memoria, eccetera.
SYS 65409
Inizia lizza lo schermo, resetta i colo-
ri dei caratteri, tondo e bordo,
SYS 64760
Effettua un RESET abbreviato del si-
stema. Differisce dal SYS 64738 per-
che non controlla la presenza del
cartridge, non azzera ic pagine di
memoria 2-3. e non esegue il RAM-
test.
SYS 64763
Come il precedente, però non resetta
ì puntatori di input - output,
Trucchi di programmazione
in L.M.
Acquisizione dati semplificata
La sequenza di comandi*.,
JSR $ÀEFD
JSR SB79E
...che salta 3 a virgola nel testo e poi
raccoglie un dato numerico (a singo-
lo byte) nel registro X, può essere .so-
stituita con...
JSR SB7F1
...che esegue la stessa operazione con
un risparmio di 3 bytes.
Rilocazione dei wedges
Supponiamo di voler inserire un
wedge, ad esempio, nella routine di
warm-start Normalmente si usa un
wedge Toader di questo tipo:
0334 LDA $3F ;carica low-byte
0336 STA $0302 ;nel puntatone
0339 LDA $03 ;carica high -byte
033 B STA $0303
033 E RTS
033F inizio del wedge
In questo caso, eseguendo SYS 820,
il loader attiva il wedge inserendo il
nuovo indirizzo nell'apposito punta-
tore. Se si vuole rilocare il tutto in al-
tra zona di memoria, sorge un pro-
blema: anche ammesso che il wedge
sia rilocabile (cioè privo di JSR e
JMP interni) il loader non lo è, per-
chè si deve modificare il nuovo indi-
rizzo da inserire nel puntatore*
Un semplice metodo per realizzare
un loader rilocabile sfrutta il fatto
che, quando si comanda un SYS, fin-
dirizzo di quest’ultimo rimane me-
morizzato in $14-15 (dec.#0-21) da
cui può essere prelevato ed inserito
nel puntatore previa aggiunta di un
offset che lo riporta all'inizio del
wedge. Esempio:
30 - Commodore Computer Club
DIDATTICA
0334 LDA $14 ;legge Eow-bvte dell'in-
dirizzo del SYS
0336 CLC
0337 ADC #$10 raggiunge l'offset
di inizio wedge
(16 bytes)
0339 SI A $0302 ;copia nel puntatore
033C LDA $15 ; legge high-byte
033 E ADC #$00 ;i nere menta se è
in overflow
0340 STA $0303 icopia nei puntatore
0343 RTS
0344 inizio del wedge
Sostituzione dei JMP interni
Se la rilocazione di un programma
in Lm. è impedita dalla presenza di i-
st razioni JMP interne ai programma
stesso, si può in genere aggirare l'o-
stacolo sostituendo il JMP con un
"brandì ' obbligato, purché si cono-
sca con precisione il valore di alme-
no uno dei flags di status. Ad esem-
pio, ii segmento...
COOG LDA #$00
C002 STA SFB
C004 JMP SC020
„,si può sostituire con,,,
COOO LDA #500
C002 STA SFB
C004 BEQ $C020
^rilocabile. perchè fistruzione LDA
#$00 lasda ovviamente settato il flag
Z, In caso di incertezza si può ricor-
rere al trucco di rese ttare il flag di o-
verflow (raramente usato) ed esegui-
re il b ranch con BVC:
COOO LDA $FC
C002 STA SFB
C004 CLV
C005 BVC SC020
Tutto ciò vale se la distanza fra i
due indirizzi è inferiore a 128 bytes:
se fosse superiore, si può sempre ese-
guire un “doppio brandi” proteg-
gendo ii “brandi" intermedio dal
flusso del programma con un’istru-
zione BIT:
COOO LDA #$00
C0O2 STA SFB
C004 BEQ SCO 90
C08F BIT ;($2C: salta ì due bytes
bytes che seguono
C090 BEQ SCODO
Word processore
e colori default
Nei word processor sono in genere
previsti dei comandi per modi Beare
il colore dei fondo, del bordo e dei ca-
ratteri, così da adeguarli ai propri gu-
sti nel caso questi non corrisponda-
no ai valori di “default" inseriti net
programma.
Con qualche modifica si può però
personalizzare il w,p, modificando
questi valori in modo da avere i colo-
ri preferiti fin dall'inizio. Ecco come
fare per due fra i w.p, più popolari:
WORD PRO 3+ e EASY SCRIPT.
ET ovvio che le note che seguono
potrebbero non andar bene perla co-
pia di word processor in vostro
possesso,
Wùrdpro 3 +
Caricate il w.p. im memoria, ma
senza dare lì RUN. Supponiamo che
i vostri colori preferiti siano indicati
dai seguenti parametri;
F = colore del fondo (codice POKE)
B = colore del bordo (cod. POKE)
C = colore dei caratteri (cod. POKÉ)
Fi = colore dei caratteri (cod.
CHR$).
Per esempio: caratteri blu su fondo
grigio chiaro e bordo marrone:
F= 15; B = 9; C=6; H = 31
Date ì seguenti comandi in modo
diretto, sostituendo ai parametri i co-
lori prescelti:
POKE 2084.F: POKE 2079, B: POKE
2094, H: POKE 5953.C
Infine salvate il programma cosi
modificato con altro nome (o sti un
altro disco).
Easy Script
Caricate il w.p, in memoria, senza
dare il RUN. Date i seguenti coman-
di in modo diretto:
POKE 2525 JR POKE 2530, B
in cui F è il colore del fondo prescelto
(cod. POKE) e B è il colore del bordo
e dei caratteri (cod. POKE), Salvate il
programma con un altro nome, o su
un altro disco.
Notate che in Easy Script il bordo e
i caratteri hanno inizialmente lo
STESSO colore; se volete differen-
ziarli, dovete farlo manualmente, do-
po il Rum con Control-3.
ÀntUNew istantaneo
Se avete accidentalmente resetiato
il computer o dato il NEW, potete re-
cuperare COMPLETAMENTE il
programma Basic in memoria (quin-
di anche modificarlo, listarlo e dare il
RUN) con questa miracolosa se-
quenza di comandi da digitare in tor-
ma abbreviata, in modo diretto c tutti
di seguito, cioè senza spazi e con un
unico RETURN.
PGKE2050J: SYS4229L POKE4Ó,
PEEK(35)-(PEFK{781)>253):
POKE45,( PEEK{78 J ) F 2)AN D255
Lampeggio durante il Gel
Richiamando con un GOSUB que-
sta subioutine{che sfrutta i registri di
controllo del cursore e il contatore di
tastiera) il programma sì arresta, fa-
cendo lampeggiare il cursore sullo
schermo: premendo un tasto, il cur-
sore si spenge e il carattere del tasto
viene assegnato alla variabile A$.
1000 POKE 198,0: POKE204.0:
WAIT198,!: WAIT2Q7JJ; GETAS;
POKE2G4J: RETURN
SCHEDA TECNICA
Note divulgative per applicazioni
varie.
Idoneo per il solo computer C/64,
Articolo consigliato ai lettori esperti
Commodore Computer Glub - 31
TELECOMUNICAZIONI
La Banca in Casa
Uno sportello del Credito Emiliano
da installare comodamente sul vostro C/64
di Roberto Mango
X I servizio bancario automatizzalo
ha ormai preso piede anche in Italia:
quasi tutte le banche hanno adottato
un metodo di cassa continua (Banco-
maio equivalenti) e il gradimento del
pubblico è comprovato dalia larga
diffusione di sportelli che per me (to-
no il prelievo di denaro lìquido a
qualunque ora senza esser costretti a
lare la fila davanti agli sportelli.
Il servizio offerto da! Credito Emi-
liano si inserisce nel filone dei servizi
telematici dal momento che permette
ai propri clienti di usufruire dei servi-
zi bancari più richiesti, impartendo
ordini da casa propria e in qualun-
que orario.
Come asserisce il chiaro ed esau-
riente manuale fornito a corredo del
software, è possibile un nuovo modo
dì lavorare, che alleggerisce, da una
parte, il lavoro degli impiegati e, d'al-
tro canto, permette ai propri clienti li-
na maggiore libertà ed una minore
perdita di tempo,
IT consentito. Tra l'altro, ordinare li-
bretti di assegni, cambiare denaro in
valuta estera o trave liers chequcs, e
ritirarlo dopo un paio di giorni; op-
pure verificare il saldo del proprio
conto corrente o l'esito di un assegno,
senza alcun problema di orari.
Per usufruire di “RancainCa$a'\ il
servizio del Credito Emiliano di cui
stiamo parlando, è necessario un
Commodore 64. una qualsiasi me-
moria di massa (anche un semplice
registratore a cassette?) e un modem
del tipo Total Telecom munìcatìon
della Teldearning System: il software
necessario al collegamento viene for-
nito al momento della stipula del
contratto con una qualsiasi filiale del
Credito Emiliano,
Non sarà certo possibile a chiun-
que accedere alle informazioni sul
vostro conto perchè il programma è
protetto dall'accesso di intrusi in tre
modi :
* è presente un primo un codice, diverso
per ciascun software assegnato a ogni u-
tenie, senza il quale il sistema stesso
non gira.
* un secondo numero di codice indivi-
duale. a neh esso diverso per ciascun u-
teme, controllalo dai sistema centrale
solo ai momento dei collegamento ,
* un digit di controllo relativo ad ogni
numero di conto corrente, controllato
aneli esso dal computer centrale.
Il dischetto provato non risulta pro-
tetto da copie, per cui l'utente può
realizzare una copia di backup nel
caso di perdita accidentale del pro-
gramma o di smarrimento del di-
schetto.
Il collegamento avviene in tre fasi:
* la prima avviene localmente, prima
di stabilire il collegamento via mo-
dem: il “colloquio" fra utente e C/64,
in cui vengono formulate le richieste
da inviare alla banca,
* la seconda fase è il contatto telefo-
nico via modero con il computer del
Credito Emiliano di Reggio Emilia.
* nella terza fase i dati di “ritorno"
vengono presentati in un'unica scher-
mata, con la possibilità di selezionar-
li singolarmente o di stamparli.
Il frazionarne nto presentato risulta
più conveniente di un costante colle-
gamento: una sessione dì comunica-
zione telefonica richiederà, infatti,
non più di 2 scatti, o di 4 se la comu-
nicazione è effettuata in traffico inte-
rurbano e in ora di punta.
Se. invece, la scelte avvenissero in
contatto costante condii computer
centrale, la spesa telefonica salirebbe
anche notevolmente (per selezionare
cinque osci scelte ci si mette in media
5-7 minuti, ma è molto di più se si ri-
chiede una o più stampe o se si vuole
verificare il proprio conto).
Descrìviamo ora il programma a
noi pervenuto su dischetto:
Dopo l'introduzione e la schermata
di presentazione, compaiono le brevi
Spiegazioni del funzionamento: con
FI si annulla un campo, con F3 sì
memorizza la scelta appena fatta,
con i 5 si elimina una schermata e si
torna al menù cancellando la scelta
precedentemente selezionata, con F7
si memorizza la scelta e poi si toma
al menù principale, premendo
CTRL-H si ottiene un aiuto in quasi
Oimi momento del programma, e con
CTRL.-P si può ottenere fhardcopy
dei video,
A questo puntosi inserisce il codice
numerico e quello personale: ambe-
due sono resi non visibili, per garan-
tire la segretezza se si fosse costretti
ad operare in presenza di sguardi,,,
indiscreti.
Solo se si verifica la corrisponden-
za. verrà caricata la seconda parte del
programma.
Dal menù principale, che appare in
seguito, >si possono selezionare sei
funzioni:
- Informazioni: si possono scegliere
informazioni su consulenze finan-
ziarie (gestione patrimoni mobiliari,
fondi comuni di investimento), su
prestiti personali (Bancofa miglia,
prestito casa, prestito turistico ISEA).
e su servizi (Prontobanca, Diners,
Viaeard. Pensione comoda. Utenze).
32 - Commodore Computer Club
TELECOMUNICAZIONI
Le informazioni accessibili con que-
sta opzione sono "incorporate" nel
programma e non è quindi necessa-
rio stablire un collegamento via mo-
dem per ottenerle,
- Comunicazioni; questa, e quella suc-
cessiva. sono le opzioni più impor-
tanti del pacchetto: limitandosi a di-
gitare il numero di liliale e. ovvia-
mente, il numero del conto, si può co-
municare alla banca indicata la pre-
notazione di uno o piu carnet di asse-
gni, la prenotazione di assegni circo-
lari, la prenotazione della valuta e-
stera, rinvio di messaggi in formato
libero e la richiesta di nuove funzioni
tra quelle elencate nel programma
stesso,
- Richieste: in questa opzione posso-
no essere richiesti il saldo del C/C. la
lista dei movimenti del proprio con-
to, il valore dei cambi valutari del
momento e f esito dei nostri as-
segni.
- Elenco operazioni effettuate: rappre-
senta, in effetti, una conferma per ve-
rificare che tutte le nostre scelte siano
state accettate correttamente,
- Cambio parola chiave : il computer
chiederà la parola chiave attuale c
per due volte 3 a nuova parola (per
maggior sicurezza); a! successivo
collegamento la nuova parola chiave
sarà riconosciuta valida dal compu-
ter centrale.
- Collegamento: dopo aver effettuato
le scelte, il computer stabilirà auto-
noma mente U collegamento cori il
centro dati del Credito Emiliano,
chiedendo solo se Putente si trova
fuori dal distretto di Reggio Emilia c
stabilire se formare, o meno, il prefis-
so tei esci etti vo, Se il collegamento
non potesse avvenire (per linee occu-
pate o altri problemi), verrà tentato
un nuovo collegamento per tre volte
di seguilo, dopo di che il programma
chiederà conferma prima di procede-
re con altri tentativi.
Una volta stabilito il collegamento.
il computer avvertirà quando i dati
sono in trasmissione ose la linea è di-
sturbata: una volta concluso il colle-
gamento il computer avvertirà l'uten-
te delia sua buona riuscita, presen-
ta ndo t con un menù, le richieste an-
date a buon fine: le risposte selezio-
nate dall'u lente, tramite la pressione
del tasto corrispondente, appariran-
no sul video: sarà possibile a questo
punto stamparle (CTRL-P), inter-
rompere il lavoro con CTRL-Q, op-
pure iniziare una nuova sessione di
lavoro con F3.
11 Credito Emiliano è una delle pri-
me banche italiane^ offrire un serv i-
zio del genere e garantisce continui
aggiornamenti del programma, com-
presi nel prezzo del servizio stesso.
GIOCHI
Quattro recensioni su altrettanti
videogame per il meraviglioso
computer Amiga
ili Luigi Catlegari
ITEMS: Per prendere, usare, dare og-
getti od ottenere la lista dì quelli in
nostro possesso.
TALK: Per colloquiare, proprio co-
me in un gioco di avventura sofistica-
to. con le altre creature del Mondo
fatato. Le sotto-opzioni permettono
di parlare (SAY), urlare (YELL) e ri-
chiedere (ASK).
GAME: Permette di gestire il pro-
gramma, terminandolo (QUIT), so-
spendendolo (PAUSE) oppure elimi-
nando musica ed effetti sonori.
Inserito il dischetto alla richiesta
del Workbeneh inizia una gradevole
presentazione grafica e sonora con
un libro (con tanto di figure) che. co-
me in un cartone animato, si sfoglia
da solo.
1 nostri eroi sono tre fratelli, corri-
spondenti nella pratica a tre sagome
leggermente diverse per abbiglia-
mento e capigliatura, ciascuno dota-
to dì vane “vite”, donate da una fati-
na. La loro missione consiste nel ri n-
S e hai acquistato da poco u n Ami-
ga, vorrai certamente procurarli del
software che sia in grado di esaltarne
le straordinarie potenzialità.
Ecco, quindi, alcuni commenti su
quattro giochi facilmente reperibili
anche in Italia,
A che gioco
giochiamo?
The Fmry Tale
(cori figurazione minima: Amiga 512K)
Prodotto dalla Mìcrollìusions, si
tratta di un classico gioco di arca-
de/adventure. La scena di gioco è
molto ampia, tanto che lo schermo
funge da finestra, scorrevole fluida-
mente, centrata sul nostro protagoni-
sta, Il gioco, secondo una caratteristi-
ca che sì sta affermando come stan-
dard per Amiga, viene controllato in-
teramente tramite mouse, agendo su
appositi ideogrammi visualizzati co-
stantemente sulla sezione inferiore
del video.
Il programma è fornito in elegante
confezione (il prezzo, non per niente,
sì aggira sulle centomila lire) con ma-
nuale molto artistico su carta tipo
pergamena.
34 - Commodore Computer Club
tracciare il talismano che protegge il
villaggio, da dove parte il gioco, dalle
forze del Male.
Ai fini di protezione unti-pirati,
vengono quindi richieste tre parole
d’ordine, leggibili sul manuale origi-
nale; poi inizia il gioco vero e proprio
con la selezione di alcuni menu, cia-
scuno dotato dì sottomenù. Vediamo
a che servono:
BUY: Permette 1 acquisto di cibo,
frecce, spada, totem, mazza. Parco o
le pozioni magiche. Il denaro, speso
quello in dotazione, si può reperire
nel gioco facendo bene atiezione ài
luoghi che si percorrono,
MAGIC: Permette dì sfruttare gli og-
getti magici trovati nel corso della
partita. Ovviamente non sveliamo
che cosa sono e come sì usano, visto
che è una delle parti più interessanti
del gioco.
La scenografìa è coloratissima e
ben rifinita. Si pensi che. quando' si
rende necessario, la porzione dì sce-
na viene caricata da dischetto (in un
batter di ciglio): evidentemente 500K
di memoria centrale non bastavano e
sé sono sfruttali anche gli BSOKdel di-
schetto e la velocità delfhardware di
GIOCHI
sto suo paci re trasformato in falcone
da un misterioso incantesimo. Per
guarirlo occorre spezzare l' incantesi-
mo prima che sia troppo tardi; una
specie di gigantesca bussola segna il
trascorrere del tempo, all esaurimen-
to del quale il gioco termina ed il sul-
tano dovrà rassegnarsi a svolazzare
tra i rami per il resto dei suoi giorni. Il
modo di rompere Pine antesi mo deve
scoprirlo Sinbad, cioè voi.
Durante il gioco si può colloquiare
con sei personaggi, che possono sia
entrare a far parte della nostra com-
pagnia (e quindi sempre disponibili!,
che essere richiamati ogni volta clic
serve, 1! dialogo avviene tramile fu-
metti (per l 1 interlocutore) e un certo
numero di risposte selezionabili col
mouse Queste riducono il numero di
varianti possibili (aumentate solo
dall'umore del momento del nostro
interlocutore), ma semplificano di
molto il gioco rispetto ad un'avventu-
ra classica, tipo 'The Pawiv.
I personaggi con cui possiamo par-
lare sono; Sylphani, il fratello del Ca-
liffo Danni, la strega ex- moglie del
califfo Libimi a* lo stregone Shaman,
la Zingara* il Genio della Lampada.
Si noti che la personalità e la funzio-
ne di ciascuno dì questi personaggi è
tutta da scoprire, impiegando molto
tempo nel corso di numerose partite
Ad esempio, la Zingara, se opponu-
natamente lusingata, può rivelare
quasi sempre la posizione geografica
ove rintracciare personaggi o nemici
e può essere molto generosa con noi;
Da rum se preso col dovuto rispetto
ed evitando argomenti scottanti* può
spiegarci i segreti per battere a duello
o superare le varie disgrazie del
gioco.
Le loro personalità spesso collido-
no: ad esempio sarà impossibile te-
nere nella nostra compagnia, per
molto tempo insieme. Lìbitma e
Sylphani; questa scapperà se non al-
lontaniamo la prima, che però è uti-
lissima come stregai ci toccherà an-
darla a cercare per tutto il globo!
Ciò che rende affascinante il gioco
è che la maggior parte degli avveni-
menti è da scoprire, dialogando con ì
vari personaggi ed andandosene a
zonzo per il mondo a bordo del no-
stro Sabralus. Quando qualcuno ci
dice di andare da qualche parte c ne-
cessario consultare, per mezzo di u-
na lente di ingrandì me nto(!)Ja map-
pa animata del globo; in seguito dob-
biamo. pazientemente, tracciare la
rotta ed avventurarci tra tempeste ed
insidie varie.
Il gioco si suddivide spesso in nu-
merosi sotto-giochi: per vederli tutti è
necessario completare parecchie par-
tite, ciascuna con proprie caratteristi-
che arcade. Ad esempio, bisogna ab-
battere alcuni pterodattili a colpi di
balestra (grafica in tempo reale, qua-
si tridimensionale), recuperare nau-
fraghi dribblando, gli scogli (in 3D),
uccidere a colpi dì fionda tre ciclopi,
duellare con il Prìncipe Nero, leoni e
mìtiche creature, risalire dal fondo di
crepacci aperti da terremoti ed altre
riposanti attività del genere. La buo-
na grafica e la velocità dì movimento
sono veramente notevoli.
Dicevamo che vi sono più fasi stra-
tegiche: in una di queste Sinbad deve
guidare, per mezzo di una mappa, gli
eserciti del Califfo per combattere
quelli del Principe Nero che vuole
entrare nel palazzo. Quando poi si
intraprendono viaggi per mare, biso-
gna decìdere quante persone delLe-
quipaggio inviare per reclutare nuo-
ve leve; quando sì approda su di una
nuova terra, è necessario stabilire
quanti personaggi portare con se per
Commodore Computer Club - 35
GIOCHI
gestione! Lo scorrimento è fluidissi-
mo, gli effetti sonori sono limitati, ma
vSlidi. specialmente durante le lotte
con i numerosi nemici che si aggira-
no: scheletri, briganti eccetera.
L'idea del programma sembra vali-
da, anche se semplice, cosi come il
miscuglio tra avventura (che costrin-
ge a riflettere) e arcade (lotte a colpi
di mouse, pardon, spada); il tutto
condito dalle caratteristiche extra
della grafica e del suono Amiga che,
pur se sfruttati in piccola patte, per-
mettono di surclassare i vecchi e glo-
riosi videogiochi del C 64.
Barbarian
{configuratone minima: Amiga 5Ì2K )
Si tratta di un classico gioco arcade,
interamente controllato da mouse,
dove si controlla un omaccione che
deve combattere contro nemici ed in-
sidie mortali per uccidere il malvagio
mago Drax.
Nella parte inferiore de) video sono
p rese n ti ale u ni i d eog ra m m i eh e co n -
sentono, al nostro omino, di svolgere
varie azioni: muoversi avanti ed in-
dietro (ovvero verso sinistra o verso
destra sullo schermo bi-dimensio-
nale), scendere o salire (quando sono
presenti scale), sferrare colpi di spa-
da. de porla e lanciarsi a lottare a ma-
ni nude, saltare ostacoli.
Pigiando il pulsante destro del topo
si commuta un sotto menu, sempre
visualizzato nella sezione inferiore
del vìdeo, che permette di raccogliere
e depositare oggetti, nonché afferrare
o riporre armi (secondo l'avversario
che vogliamo affrontare). Inoltre so-
no visualizzate le lancio raccolte ed il
numero di vite rimaste.
Il gioco procede attraversando vari
schermi il cui scorrimento non è con-
tinuo ma avviene, in un colpo solo,
quando viene raggiunto il bordo de-
stro o sinistro del video. Inutile dire
che la stenografa è estremamente ri-
finita e coloratissima, specie se la si
confronta con quella riproducibile
da un C ''64. A proposito, chi avesse
visto la versione per C/64 di questo
stesso gioco, tenga conto che la ver-
sione Amiga c notevolmente diversa
(ovviamente migliore sotto quasi lut-
ti i punti di vista).
Qualche riserva, invece, è da espri-
mere sulle animazioni grafiche, pur
se sembra evidente che Amiga riser-
va ancora molte difficoltà ai pro-
grammatori, come è ovvio per una
macchina così complessa e nuova.
Infatti i movimenti del nostro barba-
ro non sono proprio il massimo della
fluidità, così come quelli dei mostri
suoi avversari.
Confrontato con i primi program-
mi per C/64, questo Barbarian è in-
comparabilmente superiore; se, poi.
pensiamo agli enormi progressi fatti
dai videogiochi per il C 64 nel tempo,
pur essendo una macchina dalle ca-
ratteristiche hardware decisamente
patetiche se confrontate con quelle di
Amiga, non possiamo fare a meno di
rilevare che. tra qualche tempo, i gio-
chi saranno spaventosamente belli,
A proposito di grafica, piacevole è
ratìimazìone che precede Li nz io del
gioco ove si vede, come in un bel car-
tone animato, un barbaro che rompe
una catena con la spada: il realismo è
impressionante.
Validi anche gii effetti sonori, seb-
bene siano quasi sempre sincroniz-
zati male con fazione. Visto che il
gioco è stato sicuramente scritto in
buona parte in linguaggio t cd es-
sendoci nota le difficoltà di gestione
dei vari "task" in un ambiente inulti-
programmahile come Amiga, non
possiamo non perdonare i program-
matori del videogame che. come già
detto, sono anche “novellini" di que-
sta complicatissima macchina; sia-
mo celli, comunque, che si realizzerà
di meglio con qualche sforzo in
più.
Tutto sommato Barbarian è un bei
gioco, specie se si considera l'ancora
scarno panorama di videogiochi nel
software Amiga,
Una nota - si consiglia vivamente
Tacqui sto del Lodgi naie, disponìbile
ad esempio presso la Lago Snc (Vìa
Napoleone. 16 - Como) non solo per ì
consueti motivi di ordine morale e
pratico (elegantissima la confezione
cd i gadget s) ma anche per il fatto che
il dischetto è dotato di un'originale
protezione hard/so fi (che ovviamen-
te non sveliamo) in grado di dare
molti problemi ai pirati cd ai copia-
tori di dischetti.
Sinbad ed il Trono del Falcone
(configurazione minima: Amiga 5I2K,
Kiekstart Ì.2, drive supplementare)
Si tratta di uno stupendo gioco, pro-
dotto dalla t ine ma wa re e distribuito
dalla Mìndscape, per il quale il drive
supplementare si rende praticamen-
te indispensabile.
Chi possiede Amiga conosce "De™
fender of The Crown", della stessa
casa, ed avrà apprezzato, giustamen-
te, la pregevole grafica, ma non certa-
mente la stucchevolezza del gioco.
Con Sinbad il team di programma-
le - Commodore Computer Club
■ . ! ' 'I *1 1* tiANIlttlt 'Un.,
»
MITO -514' Floppy 48 TP!
Dopp a Faccia - Doppia Densità
Garantito al 100% ■ Velocità di
registrazione 5800 SPI
500 000 byles un format! ed
le misure
della perfezione
RECOVERV SERVICE - Un nostro servizio
esclusivo Cosa e il Recovery Service? E uno
scudo a protezione de; vostro lavoro Sa per
un mciclente qualsiasi macchie di catte, di
ciocco iato o impronte, i' vostro disk dovesse
danneggiarsi, la MlCROFORUM e m grado di
recuperare . dati senza alcun esborso da pane
vostra.
La mcnoFonuu manufacturing ìnc
è interessata all amplia mente delia propria rete distributiva.
Per qualsiasi coniatici scrivere anche io italiano
944- A St. CJ&tre Ave Wgtf TQRQWTO. CANADA M6C 1 CI Tei (416j 656-6406- TIk G6-Z3303 MICRQFORUM TOP T^ala* (416) 656-6368
GIOCHI
ogni evenienza e quanti lasciate a
guardia della nave per difenderla
dai pirati
Le cose, ovviamente, sono sempre
più complicate di quanto possiamo
immaginare: ad esempio, il numero
di reclutati dipende anche dall'ostili-
tà del [erri torio in cui muoviamo e si
possono verificare perdite ingenti tra
! marinai.
Ci sarebbero ancora moltissime co-
se da dire, soprattutto sulle innume-
revoli pagine grafiche di scenografia
che rendono il gioco sempre diverso
ed affascinante. Crediamo, tuttavia,
che basti affermare che si tratta di Li-
no dei migliori giochi disponibili per
Amiga, assolutamente imperdibile.
'Sinbad and thè Throne of thè Fai-
con é distribuito dalla Mindscape
Ine. 3444 Dundee Roud. Northbrook,
II, 60062, USA e costa 549.95 su
due dischi.
Flight Simulator II
(configurazione minima: Amiga 5I2K)
E‘ una delle più famose simulazio-
ni già realizzata perla maggior parte
dei computer Apple. PC IBM, Atari
e C/64.
Precisiamo subito che in circola-
zione esistono due versioni di questo
programma: una. più vecchia, adatta
a Kickstart LI ed una. recentissima,
per Amiga 500/2000 ed Amiga 1000
dotato di Kickstart 1.2. Le differenze
sono praticamente inawertibill e
consistono essenzialmente nella mi-
nore probabilità di mandare in
crash" l’elaboratore {con la nuova
versione) ed in una nuova protezione
del dischetto originale contro le co-
pie pirata.
A chi non conosce il programma,
possiamo dire che si tratta di una effi-
cace simulazione di volo che fino a
pochi anni fa era di competenza di c-
la bora tori enormemente più costosi.
Il programma tiene conto dì ben 47
parametri tipici di un vero volo in ae-
reo. La presentazione è in grafica tri-
dimensionale colorata ed estrema-
mente realistica, indiscutibilmente
superiore a quelle viste su qualunque
altro microcomputer (e vi assicuria-
mo di averne viste tantissime). Evi-
dentemente i programmatori hanno
ben sfruttato le qualità superiori
delFhardware Amiga,
E' possibile pilotare uno di due ve-
livoli: un Cessna 182, economico mo-
no motore ad elica, ed un meno doci-
le bireattore Gatcs Learjet, Non
manca di certo la tradizionale opzio-
ne per simulare combattimenti aerei.
Il programma presenta costante-
mente ben sette menu del tipo Ami-
ga/! nluiiìon, selezionabili via mou-
se. Le opzioni sono numerosissime,
ma ricordiamo: visione del gioco
(quattro viste dalla cabina, vista dal-
la torre dell’aeroporto, da un al Irò ae-
roplano). zoom ottico, scelte mete-
reologiche (stagioni, presenza forza e
direzione vento, pioggia, nuvole),
mappa di volo animata.
I principianti apprezzeranno mol-
to il pilota automatico e l’opzione
DEMO, nonché ÌI fatto che il tasto
HELP può in ogni istante istruire su
un comando qualunque. Sono inol-
tre presenti su dischetto alcune rotte
dimostrative che permettono di vede-
re in azione il programma (consiglia-
mo quell a per visionare la Statua del-
la Libertà), Inoltre è possibile salvare
e ricaricare in ogni momento le situa-
zioni di volo personali.
Mancano aH'appello, purtroppo, i
dati per alterrare sulla Piazza Ros-
sa.,,
A proposito del dischetto, c e da an-
notare quella che crediamo sia forse
l'unica pecca del programma: quan-
do si accede al floppy, il programma
spesso viene momentaneamente "con-
gelato”, Cosa evitabile con una tecni-
ca di programmazione più curata
(diamine. Amiga lavora in multi-
tasking!). come abbiamo visto in altri
programmi commerciali.
Tra le caratteristiche ' inedite” dì
questo programma vi è la possibilità
dì aprire più finestre contempora-
neamente, tra cui la mappa, la visio-
ne laterale e lo zoom. Inoltre, udite u-
dite* il programma c predisposto per
il collegamento con un altro Amiga,
permettendo così, a due giocatori, di
volare contemporaneamente, ciascu-
no col suo elaboratore ma avendo
anche nel proprio “mondo” Faereo
controllato dal l'amico.
Curatissima la strumentazione, che
occupa quasi metà schermo, gli effet-
ii sonori e la poderosa documenta-
zione, Sì badi che senza tl manuale
di 130 pagine è impossibile usare (e
godere), se non in piccolissima parte,,
questo sofisticatissimo programma.
Consigliamo vivamente l’acquisto
del prodotto originale (circa cento-
mila lire, in Italia).
Chiudiamo con un paragone che
chiama in causa la versione per C 64,
Programmi di questo genere impon-
gono uno sfruttamento intensivo del-
le risorse della macchina, superiori
alle "forze" del vecchio C/64, che
spesso reagiva ai vari comandi con ti-
mi lentezza esasperante, Amiga inve-
ce risponde immediatamente (anche
troppo!) a qualunque comando* con-
tinuando a dare effetti sonori realisti-
ci ed una visione grafica nitida, colo-
rala e suggestiva. Per non parlare del
fatto che* grazie alla netta superiorità
di memoria centrale ( RAM ) c di mas-
sa (dischi da 800K). questa versione
permette ben cinque differenti aree
di gioco e 120 (centoventi) aeroporti,
con risoluzione grafica e velocità di
gestione (grazie, Blitrer!) tale da fare
deprimere fino al suicidio t possesso-
ri dei vecchi elaboratori ad otto bit.
“Flight Simulator II" è prodotto dal-
la Sublogic Corporation. 713 Edge-
brook Drive Champaign, 1L61820,
USA.
38 - Commodore Computer C!ub
m
MANUFACTURING INC
TOROKTO CANADA
QUfìD
WSCfLfW-'C
aTJtJ: W n::i
I^TPl
OUAO-MITO - 5 1/4" 96 TRI OS QD
Floppy d±sK a quadrupla densità, disegnato per
aumentare la capacità di registrazione sino a 760
kb per dischetto
Velocità ci registrazione 5600 BRI
MEGA-MITO - S 1 ■'4" % TRI HIGH DEMSITY
Floppy ad aita densità, disegnato per drive da
1.2 MEG (AT e compatibili)
Valocilà di registrazione 9650 BRI
MICRO-MITO -3 1.2' 135 TP: OS 'OD
Costruito per l'era der disk drive da 3 1 ! 2 ‘
Velocità di registrazione 6100 BPi
le misure
944 A St. Claire Ave. West TORCHIO, CANADA MGC ICS
Te [4^)656-6406-11* 06-23303 MICflOFQRUM fOR
Tsefar 1416) 656 6363
La WCRQFQRUN MANUFACTWiNG INC.
e interessala all 'ampliamento della propria rete distributiva.
Per qualsiasi contatto scrivere anche in italiano
Finalmente, viste le numerose richieste , d'ora in poi ogni pubblicazione Software Club su cassetta sarà
disponibile anche su dischetto da richiedersi, per corrispondenza, presso la redazione.
Software Club *11 (C/64-128)
Software Club *12 (C/64-128)
Software Club *13 (C/64-128)
Software Club * 14 (C/64-128)
Software Club #15 (C/64-128)
Software Club *16 (C/64-128)
1 Gialli Commodore 1-2-3 (C/64-128)
Charlie Deus (C/64- 128)
Ruby Rap (C/64- 128)
La voce III (C/64-128)
il prezzo, per ognuna delle suddette pubblicazioni è di L. 12.000 più L. 3.000 per spese dì spedizione.
I<
Le richieste vanno indirizzate a:
Systems Editoriale
Viale Famagosta, 75
20142 MILANO
TeL 02/8467348
il pagamento può essere effettuato tramite assegno bancario o versamento sul c/c N. 37952207
Non è possibile inviare materiate in contrassegno nè contro invio di vaglia tefegrafico.
Per ogni ordine , anche se per più dischetti, le spese rimangono fissate in L 3.000
GW-BASIC
MS-DOS e Gw-Basic
Versione 2
Tra breve in edicola ìa seconda versione
del package che tanto successo
ha incontrato presso i nostri lettori
di Alessandro dc i Simone
F' inai mente è pronta, come aveva-
mo promesso J a nuova realizzazione
che consente di "trasformare" un
semplice C/64 (dotato di disk drive)
in un computer Ms-Dos Emulato^
I ra brevissimo tempo sarà disponi-
bile in edicola la confezione conte-
nente il dischetto su cui sono riporta-
li i file che costituiscono il potente
package operativo.
Le novità
La sezione MSDOS è stata comple-
tamente rifatta e sono disponibili
quasi nini i comandi (alcuni interni,
altri esterni) presenti su un “vero"
Ms-Dos compatibile. Chi se ne in-
tende può giudicare da solo quanto i
nuovi comandi siano interessanti:
Break, Chdtr, Cd, Cls, Copy con.
Copy, Date, Del, Frase, Dir, Disk-
copy, Echo, Format, Mkdir, Patti, Pau-
se, Prmt, Prompt, Reni, Renarne, Rm-
dìr, Size, Sys, Time, Type, Ver, VoL
Avete capito benìssimo: è possibile
creare subdi recto it (fino a cinque li-
velli ciascuna) ed c possibile la pro-
cedura Path che consente l!ì attivare,
in successione, tutti i comandi del ni-
nnila io re MSDOS e perfino quelli
creati dall’u lente!
La sintassi è praticamente identica
a quella “originale" Microsoft, i no-
mi dei file sono costituiti da otto ca-
ratteri (oltre d tre opzionali dì esteri-
Commodore Computer Club - 4 J
GWBASIC
Non appena la nuovissima versio-
ne sarà commercializzata, inizierà
l’apposita rubrica, sulle colonne di
questa rivista, dedicata esclusiva-
mente agli utilizzatori del package
in questione.
Come procurarsi IVISDOS 2
Oltre clic in edìcola, al prezzo di
L. 25000, i lettori potranno procurarsi
il package direttamente dal nostro
servizio arretrati inviando per posta
la cifra richiesta (+ L3000 per la spe-
dizione semplice oppure + L.6000
perla spedizione raccomandata) me-
diante assegno bancario non trasferi-
bile intestato semplicemente a:
Systems Editoriale - Milano.
Coloro che. in possesso della prece-
dente versione, allegheranno la pro-
va di acquisto presente nella vecchia
co n le z io ne, do v ra n n o i n v i a re , linc-
ee, una cifra inferiore, secondo qua ir-
to specificato nel talloncino stesso.
sione) ed è attivabile la procedura
Autoexec.
Perfino i messaggi dì errore sono gli
stessi ed identica risulta la loro inter-
pretazione da parte del C/64.
Particolare cura è stata prestata per
l'emulazione dei tasti funzione più
importanti (FI, F2, F3, F4).
Chi ha lavoralo qualche volta con il
sistema operativo Ms-Dos può facil-
mente immaginare la validità del
software proposto i cui autori sono
Gianca rio Mariani e Fabio Sorgalo,
ben noti ai nostri lettori che apprez-
zano gli articoli sul Linguaggio
Macchina.
Yjà versione 2 Gw- Basic
La nuova versione del Basic è anco-
ra più vicina a quella originale Gw-
Basic.
Le modifiche più importanti sono
state effettuate non solo per le nuove
esigenze sulla gestione dei nomi ri-
de n ricantavo! ta, al "vero” Ms-Dos) e
sulla possibilità di sfruttare total-
mente le subdirectory; particolare at-
tenzione, infatti, è stata anche presta-
ta affinché la sintassi dei file relativi
risultasse identica, ed alcune istru-
zioni grafiche divenissero totalmente
compatibili con Pedono ne originale.
E‘ possibile, inoltre, registrare la
pagina grafica e richiamarne altre
memorizzate in precedenza.
La gestione dell’alta risoluzione, i-
nuttle dirlo, è quella tipica del C/64;
320x200 ed i comandi del colore sono
rigorosamente identici a quelli di-
sponibili su macchine professionali.
La velocità è certamente dignitosa e
non farà rimpiangere l’utilizzo del
C/64 in modo "normale
Non dimentichiamo, infatti, che
tutte le istruzioni normalmente di-
sponibili sul C/64 rimangono attive
anche con l’Emulatore Gw-Basic in-
serito nel computer.
Le istruzioni disponibili nella ver-
sione 2 del Gw- Basic sono le se-
guenti;
Appenda Auto, Beep, Bload, Bsave,
Buffer, Cali, Oidir (patii), Chele,
Clear, Close, Cls, Color, C srlin, Dole-
te, Dirai!, Disk, Draw, Edit, f of, El,
Else, Er, Erdev, ErdevS, Fìeld, Kìles,
Kix, Funci, Furici, Cet#, Gwbasic,
HexS, InputS, Instr, lnkey$, &H, Key T
Kcyofh Keyon, JKill, Lcopy, Line, li-
neìnput, Eineinput#, Elisi, Locate,
Load, Lpritii, Lset, Merge, Name,
Oct$, On (error, goto), Open, Output,
Paint, Play, Point, Prese!, Fritti, Pset,
Puf, Quit, Randomize, Renum, Resto-
re (In), Résumé (next), RgetS, Rset,
Reset, Résumé, Run **name n , Save,
Scrcen, Sound, SpaceS, StringS,
Swap, (ape, Troff, Tron, Usìng, Ver-
simi, Xor, VVcnd, Whìlc, Write,
Write#
42 - Commodore Computer Club
ENCICLOPEDIA DI ROUTINE
Anche
Tocchio
vuole
la sua parte
Qualche routine per migliorare
la visualizzazione di messaggi
sui vostri schermì
A cura di Alessandro de Si mone
18800 Titolatrice
(Qualsiasi Commodore)
Avete mai avuto modo dì osservare, in un film, la di-
sposizione dei nomi dei protagonisti, soprattutto nei ti-
toli di coda?
Molto spesso i nomi ed 3 cognomi degli attori sono di-
sposti avendo come riferimento una colonna centrale;
da questa “partono” i cognomi ed a questa “terminano**
i nomi stessi,
Non e una configurazione a bandiera (che ha, come
riferimento, il margine sinistro o destro) nò si può defi-
nire “centrata** dal momento che il nome ed il cognome
dovrebbero distare un e guai numero dì spazi dai
bordi estremi.
E\ invece, una configurazione di testo che possiamo
definire a “doppia bandiera"; destra per 3 nomi c sini-
stra per i cognomi rispetto, ovviamente, ad una certa
colonna presa come riferimento.
La routine che proponiamo si occupa proprio di as-
solvere questo compito: verifica clic alfìntcrno della
stringa XI $ (lunga al massimo 39 caratteri) sia effettiva-
mente presente u n carattere di spazio c. quindi, spezza
in due parti la stringa stessa; in seguito, dopo aver ag-
giunto un congruo numero di spazi alla sinistra del pri-
mo troncone (X8S) ed alla destra dei secondo (X9$). ri-
torna al programma principale.
ET sufficiente stampare le due stringhe di seguito per
vederle visualizzate incolonnate avendo come riferi-
mento il numero XI di colonna impostata prima di
chiamare la routine.
Il demo, incorporato nei programma pubblicato, vi-
sualizza più volte i nomi di sei attori memorizzati per
mezzo di Data, Si noti come la routine sia versatile c
consenta, con minime modifiche, di ottenere anche in-
colonna menti in diagonale.
90 REM DEMO I NCOLDNN AMENTO NOMI
I
91 :
100 POR X1=0 TQ 35 5TEP 7 :
110 POR 1 = 1 IO 6 ; READ Xl$
130 GOSUB 10800- PRINTX0SXe$X9S
130 NEXTI : FRINÌ : RESTORE : NEXTX1
131 :
133 POR X1=0 TO 38 STEP 7 :
133 POR 1 = 1 TO G : READ X1S:X1=X1
+ 1
134 GOSUB 18800 : PR INTX0$XB$X9$
135 NEXTI ; PRIMI : RESTORE :NEXTX1
136 :
137 FDR Xl-10 TO 40 STEP 30:
1 30 POR 1=1 IO 6: READ Xlffi:Xl-Xl
-1
139
140
150
800
810
380
830
840
850
260
3998
19000
eOSUB 18800: FRI NTX0$X8$X3$
NEXTI : PRIMI: RESTORE :NEXTX1
Hi
DATA FIARILYN NONROE
DATA MALCOM flC DOWELL
DATA GIANFRANCO D’ANGELO
DATA ELEONORA GIORGI
DATA PAOLO UILLAGGIO
DATA FRANCESCO SALDI
END
xe$=” xsffi
ri u
: X05
» n
: IF Xl<
10805
0 OR X 1 > 39 THEM X0$=”ERR" : R
ETURN
FOR X9-1 TD 39- X3S-X95 eCHRS
C 32 ) : NEXT : X1$“LEFT$CX1$+X9$
,39)
60 - Commodore Computer Club
ENCICLOPEDIA DI ROUTINE
18810 X3-0 : FOR X8-1 TG 39: IF MID$
CX1$ , XB , 1 y =CHRSC32) THEN X3
“X8 : X8*=33
1BBB0 X8$=XS$+MID$CX1$ , X8 , 1) : NEXT
1BB30 XB$“RIGHT$CX9I+X8$,X1+11
1BB40 X3$ = LEFT$ Crt I □$ C X 1$ , X3 , 33-X9
) , 3B-LENCX8$1 )
1BBE0 RETURN
1BB85 REM X1=0ISTAN2A DELLO SPAZI
0 DAL BORDO
1BB8E REM X1S=C INPUT) NOME CGNTEN
ENTE UNO SPAZIO
1BBB7 REM XB$= COUIPUT3 NOFtE BINI
STRO
1BBBB REO X9$- i OUTPUT) NOME DESI
RO
18B93 REO INCOLONNAMENTO NOMI CON
SPAZIO
18900 Messaggi mobili
(Qualsiasi Commodore)
Con questa divertente routine sarà possibile visualiz-
zare, carattere per carattere, un qualsiasi messaggio ad
una velocità dipendente dal valore X2 ed a partire dal
rigo video indicato da XI.
Naturalmente la visualizzazione avverrà in un modo
piuttosto particolare ed. esatta men te Jn accordo al con-
tenuto della stringa X3S che può ospitare, grazie ad un
particolare Input controllato, solo i comandi relativi ai
quattro movimenti del cursore.
Il Demo inserito nella stessa routine chiarirà l'uso
che si può (are de! sotto prò grani ma meglio di un fiume
dì parole: quando appare il messaggio "Premi i tasti
cursore.,,’ divertitevi a premere, nella successione che
preferite, la combinazione dei tasti cursore, con c senza
shift
Non appena avrete battuto il tasto Return, oppure a-
vrete raggiunto la lunghezza del nome contenuto in
XIS, vedrete che il messaggio verrà visualizzato, carat-
tere per carattere, secondo la successione dei tasti
premuti
100 Xl$“ "COMMODORE COMPUTER CLU
B ” : REM NOME
110 X1=10:REM N.RIGD INIZIO
115 Xa=100:REh UELQC I TfV UISUA
LI22A2I0NE
150 FRI NT " PREfl I 1 TASTI CURSORE
PER ” LEN CX1S1 ”UQLTE ”
130 GOSUB 1QS00
9938 :
3993 END
18900 X0§^ ” I F XI > 85 OR X1<0 THE
N X09 =JS ERR” : RETURN
1B305 X3S- " 71 : X3=0 : X4=LEN ( XIS )
10910 GEI XESrlE X53-CHRSC13) THE
N 18940
19980 IF X2$< > DOU1N3 ?> AMD X2SO’ 1
CUPI” AND XS$<> "CRIGHT1” AN
D X2$<> ”ELEFT3" THEN 18910
18330 X3ffi=X3S+XHS: X3=X3+1 : IF X3<X
4 THEN 18910
18940 PR INTCHRSC 147) : POR X3-1 TQ
XI :PRINT;NEXI
18350 FDR XI “1 IO X4;F0R X3»l IO
X5 : NEXTX3
1B3B0 PRINTMIDSCX3S , XI *1 ) Il I DS C X 1 9
,X1, 1); : NEXTX1 ; RETURN
18333 REM U5UALIZ2A SALTELLANDO
19000 Attesa ipnotica
(Qualsiasi Commodore)
Questa routine, scritta per C/64, può essere facilmen-
te adattata al C/16 ed al Pìus/4 modificando le righe
19000 e 19010 come indicato, rispettivamente* nelle
Rem di righe 19001 e 1901.1.
Non fa altro che visualizzare casualmente un gruppo
di caratteri, tutti eguali, disposti però con una certa re-
golarità e, in certi casi, con piacevole simmetria.
À seconda del valore attribuito alla variabile XI, la vi-
sualizzazione continua all’infinito (XI =0) finché non
si preme un tasto; altrimenti continua per il numero di
volte stabilito con XI stessa, a meno che non si prema
un tasto qualsiasi prima che giunga al termine del
conteggio.
Può essere utile per attrarre Fattenzìone dell'utilizza-
tore s oppure per,, ipnotizzarlo!
30 REn DE HO ATTESA IPNOTICA
91 ;
100 X1-0:REM CICLO INFINITO
105 P.RINTCHRSC1473 ,f PER INTERROfI
PERE L’EFFETTO CHE ORA UEDR
AI, PREMI UN TASTO”
106 GEI A$:IF A$“ ” ” THEN 10E
110 GOSUB 19000
150 PR INTCHRSC 147) : INPUT ”OUANT
E UOLTE ” ; XI
130 GOSUB 19000
9398 :
9999 END
Commodore Computer Club - 61
ENCICLOPEDIA DI ROUTINE
19600 FRI NTCHRSì C 1 47 ) : X4“1023 : X2“I
NT( RNDC 0}*50;t : IF X2<20 THEN
13000
19001 REtl : C/16: PR INTCHRSC 147) ;
X4=3071 : X2=INT CRNOC0)*50) : I
FX2< 20THEN 19000
13005 X5=RND( 0)*25S : IF X5=32 OR X
5=1B0 THEN X5=33
13010 X4=X4+X2:IF X4<2023 THEN PO
KE X4 , X5 : GDTD 13010
13011 REFI : C/16: X4=X4+X2 : I FX4<4
070THENPDKEX4 , X5 : GCTD19010
13015 GET X 1 S : I F Xl$<>”” THEN RET
URN
13020 IF XI > 0 THEN X3~X3+1 : IF X3<
XI THEN 19000
19040 IF Xl-0 THEN 13000
13050 RETURN
19039 REN ATTESA IPNOTICA
19100 Somma di ore
(Qualsiasi Commodore)
Vi è mai capitato di dover sommare, tra loro, due ora-
ri? 11 problema non c molto semplice dal momento che
la suddivisione del tempo non è in notazione decimale,
ma sessagesimale (per ore e minuti), per non parlare
del giorno, suddiviso in 24 ore.
Con la routine di queste pagine sarà possìbile asse-
gnare alla variabile Xi,$ il primo dei due orari ed alla
variabile X2$ il secondo; il formato è quello ben noto
della variabile TU, formata da sci caratteri che, a cop-
pia di due, rappresentano le ore, i minuti ed 1
secondi.
La routine contiene, al suo interno, alcuni controlli
che consentono di individuare errori dì formato ed in-
congruenza di orari come, ad esempio: 256399,
II demo effettua, c visualizza, la somma tra 124535 e
1 15456; subito dopo chiederà altre somme da ef-
fettuare.
Si noti che se la somma dei due orari {assegnata alla
variabile X3$) supera le 24 ore, la variabile X0 sarà po-
sta ad uno; in caso contrario varrà zero.
Si tenga presente, inoltre, che, al ritorno dalla routine,
i primi tre elementi del vettore XS(I) contengono, ri-
spettivamente, le ore. i minuti ed i secondi elaborati.
90 RED SOMMA DI ORE
91 :
100 Xl$-”124535”
110 XE3) = ” 1 1S45S ”
115 GDSUB 19100: PR I NIX 1 $ ” + ”
130 PR I NTXBS ” “ ” : PR I NTX3$ : PR I NT "
LA UAR I AB ILE X0 UALE”X0
62 - Commodore Computer Club
13 0 INPUT "ORARIO 1 CES:1£34B53
” ; Xì£
140 INPUT "ORARIO E CES: 193485)
” ; XE$
150 GG3UB 19100
160 IF X0$“ ” ” THEN FRI NT "SOMMA
□ RE: ” : FRI NTX1S ” + " : PRINTX33;
,J ” ” : PRINTX33
170 IF X0> 0 THEN FRINT”OLTRE AD
UN INTERO GIORNO”
100 GOTO 130
939B :
9839 END
19100 X0$-”” : X0=0: IF LEN(X1S)<>6
DR LEWC XB3 ) < > 6 THEN X03=”ER
R” : RETURN
19105 POR Xl-1 IO B STEP 8
13110 X1CX1)=UALCMIDSCX1$, XI ,23 1 :
XBC XI ) -UAL (MI 096X65 , XI , 6) 1 :
NEXT
191B0 IF XI C X 3 > 93 OR X2C13>23 OR
X1C33>59 OR XE ( 3 3 > 59 THEN X
0S“ "ERR ” : RETURN
19140 IF X 1 C 5 ) > 59 OR XE65)>59 THE
N X0$"”ERR ” : RETURN
19150 X 6 3 } “XI C 5 3 + XE 65 } : X C B ) -X 1 6 3 )
+XEC3) : XC 1}=X1C1)+XB( 1)
13150 IF X C 3 ) > 53 THEN X C 3 ) «XC 3) -6
0: XCE^-XCE)+l
19170 IF X C E ) > 53 THEN XCBl-XCBO-G
0:XC13-XC15+1
19179 IF X C 1 )> B3 THEN XC11“XC1)«E
4:X0=1
191B0 FOR X9= 1 TD 3: X3S-5TRS C X C X9
) )
131B9 X9CX9)=R1GHT$C ”00 ”+R I GHTffi t X
3$ s LEN C X3S ) - 1 ) ,B) ; NEXT
13190 X3$ m ” ” : FOR Xl-1 IO 3;X3$-X3
S+XSCXl ') : NEXT: RETURN
19199 REM SOMMA DI DUE ORARI CX1
$+XB$=X3$ 3
ENCICLOPEDIA DI ROUTINE
Elenco delie ultime routine pubblicate
6-3 i K)2 noni 3 S 60t> inco ni tei Oto re (45)
63903 rem 18500 strine wrticr (451
65904 rem 1 84Ó0 password (45}
65905 rem 18300 smilzi phty (45)
65906 rem 18200 fusi oràri (44)
63907 rem 18100 paroliere (44)
63908 rem 18000 random program m£b; (44)
63909 rem 17900 gestione menu (44)
63910 rem 17800 legge file (43)
639 M rem 17700 memo-messaggi (43)
63912 rem 17600 auriga menu (43)
63913 rem 17500 mini text-editor (42)
63914 rem 17400 h/topy low-res (42)
63915 rem 17300 grand, analogiche (41)
63916 rem 17200 interp A$ ,(4J)
63917 rem 17100 equivalente (40)
63918 rem 17000 percentuali (40)
63919 rem 16900 deck & doke (39)
63920 rem 16800 aprite scanner (39)
63921 rem 1 6 70Q movimento sprite (39)
63922 rem 16600 accensione sp ri te (39)
63923 rem 16500 drurn per c/64 (38)
63924 rem 16400 draw low/rxs (38)
63925 rem 36300 prini v/con l (38)
63926 rem 16200 plot low-res (37)
63927 rem 16100 integrali (37)
63928 rem 16000 equaz. mista (37)
63929 rem 15900 cquaz. terzo gr. (37)
63930 rem 15800 derivata di fiinz. (37) ■
63931 rent 15700 scritte rotanti (37)
6393 2 re m 1 5600 co n ve rs , eoord in. ( 3 6}
63933 rem 15500 logar base quitta. (36)
63934 rem J 5400 convèrsi One ha si ( 3 6.)
63935 reni 15300 se m pii f. frazioni (36)
63936 rem 15200 di vis. con N dedm ,(36)
63937 rem 50100 directory (35)
63938 rem 15100 lampeggio righe (35)
63939 rem 1 5000 frammenta schermo (35)
63940 rem 14900 dolete wiridow (35)
6394 ì rem 14800 cambia siringhe (34)
63942 rem 14700 slitta stringhe (34)
63943 rem 14600 ruota stringhe (34)
63944 rem 10500 input programmali, (34)
63945 rem 14500 serpi] solo cesto (33)
63946 rem 14400 spille multiuso (33)
63947 rem 14100 zoom esatteci male (33)
63948 rem 14200 video orologio (33)
63949 rem 11100 funzioni inverse (32)
63950 rem 3 3200 centra messaggi (32)
63951 rem 14100 finestre di testo (32)
63952 rem 14000 gestione nome disk (32)
63953 rem 13900 load/save pg. video (31)
63954 rem 13800 scritte in ebem (3!)
63955 rem 13700 bit imago mps/803 (31)
63956 reni 13600 or esclusivo (31)
63957 reni 13500 comandi extra prg(31)
6-3958 rem [3400 linee low-res. (31)
63959 rem 13300 elabora siringhe (31)
63960 rem 132(X) centratura frase (32)
63961 rem 13100 menu con joy (30)
63962 rem 13000 menu con cursore (30)
63963 rem 12900 frase lampeggiante (29)
63964 re in 12800 bordo technicolor (29)
63965 rem 12700 fili memoria ram (29)
63966 reni 12600 text copy mps 803 (29)
63967 rem 12500 colore pag, testo (29}
63968 rem 12400 print using (31)
63968 rem 12400 print using (29)
63969 rem 12300 mx.d. E M.C.M. (29)
63970 rem 50500 visualizza file (28)
63971 rem 50400 read file relativi (28)
63972 rem 50300 write file retar (28)
63973 rem 50200 crea file relativi (28)
63974 rem 50000 legge blocks free (28)
63975 rem 12200 numeri con a fui (28)
63976 rem 12100 protendile S/W (28)
63977 rem 12000 koala (27)
63978 rem 1 1900 di auge pag. vìdeo (27)
63979 rem E 1800 salva ram (27)
63980 rem 1 1700 calcolatrice (27)
63981 rem U 600 scoili posiz.ril labe (27)
63982 rem 1 1500 cardi i-res (27)
63983 rem 11400 istogrammi (27)
63984 rem 501 (M) esame directory (26)
63985 rem 11300 ftinz.inv.iperbol- (26)
63986 rem 1 1200 Ibnz.inv.trigoiionJ (26)
63987 rem 1 1 100 funzioni inverse (26)
A SOLE 285.000 LIRE, IVA COMPRESA
IL DISK DRIVE PER IL TUO COMMODORE 64/128 *
* DRIVE 1571 COMPATIBILE A SOLE 395.000 LIRE, IVA COMPRESA
1} COMPATIBILE AL 100%. stesso DOS (Dtsk Operaling System] del Commodore
2) Costruzione SLIM LINE con alimentatore esterno compreso nel prezzo
3} DOPPIO connettore seriale per collegare un altro Drive
GRATIS!
ad ogni acquirente, la famosa
^ EXPRESS SYSTEM della MASTERTHONIC A
(valore L 35 000) la miglior cartuccia per velocizzare
fino a 5 volte il caricamento dei programmi da disco.
La cartuccia si inserisce nella porta di espansione dei 64/128
e NON la decadere ta garanzia del tuo computer
e/o una stampante
4) Robusto mobile m metallo schermalo antìdisturbo
5) GARANZIA totale ri 2 mesi, comprensiva di ricambi
e mano d'opera)
6) Dettaglialo libretto dISTRUZIONi in rialiano con
molti programmi in BASIC ed esempi d'uso
7) DEVIATORE esterno per cambiare m
via Hardware il numero della periferica
DISCHETTO omaggio con programmi e
copiatori TURBO per trasferire su disco i
programmi su cassetta.
8
Rapide spedizioni in tutta ITALIA, con pagamento contrassegno al postino i Lire 15.000 quate contributo spese di spedizione
Nessun addebito di spese a chi allega all'ordine un assegno non tra steri bile o un vaglia postale intestati alla
CIRCE Electronics, Srl - Via Primo Maggio, 26 - Iona industriate - 37012 ÈUSSOLENGO (YR) ■ Tei (045} 71.51.043
Per ricevere n catalogo hardware, inviare L iGQQ in francobolli
ENCICLOPEDIA DI ROUTINE
Come realizzare l’enciclopedia e utilizzarla nei propri listati.
A
fll lettori che hanno acquistato per la prima volta questo numero di Commodore Computer Club, illustriamo qui di set-gito, in
breve, i vantaggi derivanti dalla raccolta proposta. Questa, a pensarci bene, è (a versione 'superiore" delia rubrica “1 RIGA' c
potrebbe anche denominarsi,,, "Una schermata"!
Oltre che utili per costituire un’enciclopedia, i brevissimi sottoprogrammi pubblicati su ogni numero, sono anche validissimi
strumenti di studio per coloro che desiderano approfondire le proprie conoscenze del Basic, esaminando, senza fatica, particolari
routine o insolite tecniche di programmazione.
• Dato che può esser “chiamata" più di una volta nel corso di un programma, nessuna routine contiene istruzioni del tipo DATA
oppure DIM, allo scopo di non creare confusione col listato principale
& Nessuna routine può far riferimento ad altre routine de II ‘enciclopedia.
• Nessuna routine può contenere variabili “banali" (A, A$, eccetera), ma solo variabili poco usate (X1S, X8, Y0%. eccetera),
• Ogni routine deve apparire, per Intero* sullo schermo del computer c consentire, proprio per questo motivo, di essere esaminata
comodamente.
• Ogni routine deve esser numerata secondo uno standard che ha la particolarità di esser ricordato facilmente;
Righe
XX Y00 Prima riga del sottoprogramma
XXVB9 Ultima riga utile del sottoprogramma
XXY90 REM Prima riga di spiegazioni
XXY99 REM Nome delta subroutine
in cui XX sono due valori variabili da JO a 63; Y è un carattere numerico compreso tra rie 9.
Qualsiasi subroutine, in altre parole, inizia con un numero, di cinque caratteri, che termina sempre con “00’ \ La stessa subroutine,
d’altra parte, ha l’ultima riga numerata con "99". Digitando, ad esempio; LIST 1080010899
si avrà la certezza di veder apparire sullo schermo, per intero* la routine il cui nome si trova nella riga 10899
Prima di accedere alla routine, è necessario assegnare, alle variabili indicate con REM da riga XXY89 a XX Y98, particolari valori
per il suo corretto funzionamento. Al “ritorno" una o più variabili conterranno il risultato delUelaborazione.
In questo modo* per esser più chiari, è possibile simulare alcuni comandi di versioni Basic avanzate oppure, addirittura, creare
nuove e inedite istruzioni. Ad esempio, il comando: SOUND 1,800,500
che, nel 016, riproduce un suono di tonalità SfJC) tramite la voce 1 per la durata 500, potrebbe venir riprodotta, in un'ipotetica
subroutine per il Commodore 64, con: X1™UX2=800;X3=500;GOSUB12400
nell'ipotesi, ovviamente, che la routine in oggetto sia allocata da nga 12400 a 12499,
I listati pubblicati “girano" su ogni computer* salvo dove indicato diversamente,
E ovvio che nel caso de) Vio20, (che, come è noto, ha uno schermo di soli 506 caratteri), le subroutine "universali" funzionano
corretta mente , ma non possono apparire per intero in una sola schermata.
Per quanto riguarda la digitazione, si tenga presente che sulla rivista, per motivi di chiarezza, i comandi e le istruzioni Basic sono
separati tra broda spazi bianchi. Nel digitare 3c linee di programma, pertanto, è opportuno ignorarli altrimenti si rischia di non restare
in una sola schermata, Se, per esempio, leggete.
12100 Xl=34: X2 =* SQRfX3) + LQG(XI)
digitate nel modo seguente:
12100 Xl“34;X2=SOR(X3)+L.OGfXl}
senza, cine, alcun carattere di separazione tra comandi ed istruzioni
Contenuto
( olla Imi razione dei lettori
La collaborazione dei lettori è gradita, purché si prov-
veda a inviare almeno tre sottopiog ramni per volta, su
nastro, disco oppure output di stampante. 1 listati di
routine che non rispettano lo standard adottato non
potranno esser presi in considerazione.
Tutti i lavori pubblicati verranno compensati con pro-
dotti della Systems Editoriale (cassette di programmi,
libri, abbonamenti, copie arretrate, eccetera).
64 - Commodore Computer Club
ANTEPRIMA
Tanti giochi
e due utility
odiamo in dettaglio i titoli del-
lultimo numero di “Software Club”
perla parte dedicata ai possessori di
C/64-128,
Cover
Come tutti i numeri di Software
Club, il primo programma è una sim-
patica presentazione del contenuto
della cassetta.
Over thè top
Il tema centrale del film “Over thè
top“ riguarda i campionati nazionali
dì “Àrm-wrestling", braccio di ferro.
In questo videogame sarai tu che,
joystick alla mano, dovrai sfidare i
campioni di questo fantastico sport.
Prima del l’inizio del match findi-
catore nella parte alta dello schermo
è fermo nella posizione centrale, che
equivale alla condizione di parità
durante il gioco,
Premendo PIRE inizia il match,
Muovendo velocemente lo stick del
joy alternativamente a destra e a sini-
stra si contrasta lo sforzo dell'avver-
sario, che tende a muovere l'indicato-
re verso destra.
Per 11 giocatore il match si divide in
due fasi possibili:
1/ 1 ire non premuto - In questo caso
è più facile contrastare l’attacco del-
li numero 16 di
Software club
contiene tanti giochi
divertenti; ma anche
una Ram-Disk
per C/64-128
l'avversario, ma f indicatore non può
essere spinto a sinistra oltre il punto
centrale. Questa è la fase di DI-
FESA.
2J Fire premuto - In questo modo l'at-
tacco dell'avversario è più potente,
ma il giocatore può vincere muoven-
do velocemente lo stick, tanto da
spingere l'indicatore completamente
a sinistra. Questa è la fase di
ATTACCO.
Ad ogni vittoria del giocatore l’av-
versarlo diventa sempre più forte, sia
in fase di attacco che in fase di
difesa.
Ogni passaggio di livello è identifi-
cato da un particolare commento che
compare in alto a sinistra nella
schermata intermedia.
I livelli sono più di dieci, ma oltre il
nono la vittoria risulta praticamente
impossibile per i limiti meccanici
del joystick.
Commodore Computer Club - 65
ANTEPRIMA
Croll sKip
Lo scopo del gioco è quello di colpi-
re le 30 “E" rotanti prima di colpire la
stella contrassegnata con "FINAL”
al centro della grotta,
fi nemico, che insegue F astronave,
va preferibilmente evitato piuttosto
che colpito, poiché quando viene col-
pito Ì1 carico dell astronave dimi-
nuì sce^
Il carico è costituito dal numero di
unità di energia colpite (le "E’ rotan-
ti) e viene aggiunto al punteggio ogni
volta che Fastronave fonia alla base
("Energy Home").
La potenza dei nemici, che influen-
za la frequenza con cui appaiono le
pietre-ostacolo all'interno della grot-
ta, aumenta a mano a mano che si
raccolgono energie.
Ad ogni ritorno alla base la potenza
dei nemici viene decre mentala.
I livelli sono tre e differiscono per la
distribuzione dei bersagli e la forma
della grotta che rendono più ardua la
raccolta delle unità di energia.
II passaggio di livello avviene
quando, dopo aver raccolto tutte ìc u-
nità dì energìa, si colpisce la stella
posizionata al centro della grotta.
La parte grafica dei due giochi,
molto ben curata, non ha nulla da in-
vidiare ad altri videogame con-
simili.
Deltaplani Blob
Il deltaplano* uno dei velivoli più
affascinanti, ispira questo gioco
divertente.
Con ìt Joy in porta 2 controlli il del-
taplano dal quale lancerai bombe
con lo scopo di colpire tutte le ban-
dierine presentì nel paesaggio.
Attenzione! Sarà possibile colpire
le bandierine solo avendo cura eh e la
bomba esploda nel momento de ila
collisione con la bandierina stessa.
Se proprio non riesca a colpire le
bandierine, beh, almeno goditi il
paesaggio...
Ed ecco un altro gioco molto ben
curato che poco ha da invidiare alla
concorrenza d f oltre oceano.
Una simpatica ape golosa di... cilie-
ge si muove in un labirinto a caccia
dei frutti preferiti.
Ma in agguato ci sono i guardiani
che cercheranno in tutti ì modi di
fermarla.
Rispondendo tL Y" alla domanda
"‘Do you want to make your selec-
tion?” sarà possibile selezionare va-
rie opzioni:
Speed (1-4): velocità del gioco
N, of enemies (2-4): numero dei
nemici
N. of cherries (S-40): numero delle
ciliege
Decisione e destrezza occorrono
per questo gioco che contiene tantis-
simi schermi differenti.
Ram-Disk by 4WD-Soft
Ed eccoci arrivati al "clou" della
cassetta; la Ram-Disk è i! risultato di
un lungo ed attento lavoro di pro-
grammazione che ha premiato gli
autori con una notevole soddisfa-
zione.
Tutti coloro che utilizzano compu-
ter evoluti, come IBM, Alari* Amiga e
così via* hanno certamente utilizzalo
una Ram-Disk,
66 - Commodore Computer Club
ANTEPRIMA
La quasi totalità di utilizzatori di
C/64-128, invece ignora quasi del lut-
to resistenza di questo potente stru-
mento di lavoro.
Che cos e una Ram-Dìsk?
Si tratta di un'area di memoria
RAM che viene protetta da scrittura e
che viene usata a tutti gli effetti come
se fosse una periferica (virtualmente
un disk-drive).
I vantaggi dì questa partizione di
memoria sono numerosi: in primo
luogo, durante il lavoro di program-
mazione. non sarà necessario salvare
continuamente su disco o nastro tut-
te le varie versioni del programma
(con notevole perdita di tempo): sarà
possibile salvarle temporaneamente
in memoria per poi salvare a fine la-
voro un'unica versione su disco o
nastro.
In secondo luogo, il programma è
protetto da qualsiasi cancellazione
accidentale, tranne il caricamento di
un programma troppo lungo (supe-
riore ai 1 IO blocchi),
SÌ a Ru n/slop e Restore, che il Reset,
non alterano il funzionamento del
programma per cui il comando “R”
(freccia a sinistra + R) è sempre pre-
sente e permette di passare dal Basic
al modo Ram~Disk,
In terzo luogo funziona da “espan-
sione”; infatti, la memoria per il Ba-
sic è limitala a $7 FEO (circa 30 KB) e
lo spazio per la Ram-Disk è dì circa
18 KB. In pratica con questa utility si
hanno 30+18 KB = 48 KByte (non
male!)...
La Ram-Disk viene gestita con nove
comandi da visualizzare con il co-
mando HELP:
* L ‘nome prg”: carica da RAM il
programma,
* S “nome prg”: salva il programma
nella zona RAM.
* V "nome prg”: esegue la verifica
del programma,
* D: elenca i programmi presenti in-
dicandone anche l'occupazione in
byte.
* F: formatta l'area di memoria can-
cellando gli eventuali programmi
presentì.
* R “nome prg": rinomina il file
specificato.
* E “nome prg”: cancella il program-
ma in questionc.
* H: elenca i comandi.
* Q: ritorna al Basic.
Esempi d oso
Supponiamo che abbiate registrato
su disco, o nastro, un programma de-
nominato Pacchio ' e che vogliate
modificarlo.
Per prima cosa sarà opportuno ca-
ricare e lanciare il programma Ram-
Disk; successivamente sarà possibile
caricare il programma "Pacchio”, da
disco o nastro, quindi digitare il co-
mando di rana me (R) c, una volta in
ambiente Ram-Disk, dare il coman-
do S “Pacchio”.
A questo punto il programma “Pac-
chio” è in memoria (sia nell'area Ba-
sic sìa nell'area Ram-Disk).
Tramite il comando Q sarà possibi-
le tornare al Basic e modificare il li-
stato originale e, quando lo si ritiene
opportuno, salvarlo sotto Ram-Dìsk
anziché su periferica.
In questo modo si risparmierà una
notevole quantità di tempo.
Una volta terminata la fase di mo-
difica o miglioramento del program-
ma sarà possibile salvarlo definitiva-
mente su supporto magnetico.
Come il lettore certamente saprà, il
numero dei salvataggi (e caricamen-
ti) di un programma di media lun-
ghezza, prima della sua versione de-
finitiva, è piuttosto elevato (noia a
parte); tramite l'utility proposta sarà
quindi possibile noti solo evitare i
“tempi morti” ma anche un'usura ec-
cessiva della periferica.
Marker
La seconda utility di questo nume-
ro ha lo scopo di facilitare la stesura e
il controllo di programmi molto
lunghi.
Una volta attivata, verrà visualizza-
ta accanto al cursore una striscia,
lunga 40 caratteri, di colore bianco,
interamente formata da sprìte.
Lo scopo dì questa striscia è quello
di evidenziare la riga corrente in cui
sì trova il cursore.
Per attivare o disattivare l'utility è
sufficiente impartire il comando SYS
49253
Commodore Computer Club - 67
li ani
Nelle vicinanze del punto in cui
siete entrati vedete, sul muro, un’anti-
Eccoci ora arrivati alla “zona riser-
vata ' al 016/ Plus/4
Quickfish
Una piattaforma petrolifera mette
in perìcolo la vita tranquilla dì un
simpatico pesciolino.
Il vostro compito è quello di aiutar-
io a mettere in salvo le sue uova pri-
ma che sì verifichi un disastro ecolo-
gico causato dalla rottura delle tuba-
zioni deirimpianto.
L’unica possibilità dì salvezza per
le uova è una cozza gigante che trove-
rete superando una montagna som-
mersa: fate però attenzione a non ri-
manervi intrappolati.
Prestate attenzione nel superare la
montagna: in cima ad essa passano
alcune bisce marine voracissime!
Per prendere, e depositare, le uova
premete il pulsante di fuoco del joy-
stick, o la barra spaziatrice.
Per muoversi, invece, usare il joy-
stick od i tasti cursore.
Shot
La vostra città sia subendo un raid
aereo, e le forze nemiche si stanno
paracadutando per occuparla.
Presi alla sprovvista, tutti i tentativi
di difesa sono risultati inutili: rulli-
ma speranza è di evitare che ì paraca-
dutisti atterrino sulla città.
La vostra fama di tiratore scelto fa
sì che vi venga affidato Piti carico di
abbattere i numerosi nemici che si
avvicinano velocemente alla meta.
Avrete a disposizione il modernis-
simo cannone-laser XL-412, che po-
trete manovrare con ì seguenti ta-
sti:
* Y: sposta verso l’alto
* B: sposta verso il basso
* G: sposta verso destra
* H: sposta verso sinistra
* Spazio: spara
My little pet
State esplorando la piramide di Tu-
tankamon, quando scoprite un pas-
saggio segreto che vi porta in un labi-
rinto sotterraneo disseminato di ra-
re gemme.
Una volta entrati, il passaggio si
chiude e rimanete intrappolati: non
esistono altre vie dì uscita.
ca iscrizione in rilievo che dice di
raccogliere tutte le gemme per poter
uscire dal labirinto, ma in caso di fal-
limento quella stanza sarà la vostra
tomba.
Nel l’esplorare il labirinto fate at-
tenzione a non urtare le pareti per
non perdere rapidamente le vostre
energie.
Per muoversi, usare il joystick in
porta L
Anche se ì colpi a disposizione so-
no numerosi, è consigliabile non
sprecarne perchè i nemici non danno
tregua.
Cruncher
Una fantastica utility dedicata però
ai solì possesori del disk drive.
Si tratta dì un programma che per-
i8 - Commodore Computer Ctub
ANTEPRIMA
mette di compattare qualsiasi tipo di
file (Programmi, testi, schermate e
così via)> in modo da risparmiare
spazio sui dischetti.
Alla domanda “Source File Marne”,
dovremo rispondere coti il nome del
file che intendiamo compattare e alla
domanda "Gbject File Marne” ri-
sponderemo con il nome che vorre-
mo assegnare al ille compattato.
Per ricaricare il file compattato è
suiFicìeme caricarlo normalmente
quindi dare RUM per dare inizio alla
procedura di ' l sco inpatta mento".
Una volta terminato, il programma
in memoria si presenterà come fori-
finale, per cui sarà possibile listarlo,
modificarlo o mandarlo in esecuzio-
ne {sìa con RUM che con eventuale
SYS).
La lunghezza dei programmi da
compattare è limitata, in quanto è ne-
cessaria la presenza in memoria del
progra m ma compattatore,
I eventuale crash del sistema du-
rante reseca zi one del programma se-
gnala che fope razione di <L crunch" è
stata interrotta a causa della eccessi-
va lunghezza del programma.
Commodore Computer Club - £J&
SPAZIO AMIGA
Ai vostri comandi
Una descrizione dettagliata di alcuni potenti
comandi disponibili su Amiga
di Luigi Cai legar!
^V,bbiamo visto che esiste i3 co-
mando di rìde nomi nazione dei file
RENAME. Ovviamente esiste un co-
mando equivalente che opera con i
nomi dei dischetti, o meglio, usando
termini precìsi, in grado di cambiare
il nome assodato ad un volume su
dischetto. Questo comando ha for-
mato seguente;
RELABEL (DRIVE) drive INA ME)
nome
Le parole DRIVE e NAME sono
opzionali solo se si specificano i pa-
rametri nel Lordine indicato, cioè pri-
ma il nome del drive (DPI ; DF2:.,.)o-
ve è inserito il dischetto da ride nomi-
nare, poi il nuovo nome da assegna-
re. Il nome del volume deve seguire le
consuete regole di Amigados: non
piu di trenta caratteri esclusi il dop-
pio punto (: ) ed il di viso (/) e da speci-
ficare tra virgolette se contiene spazi.
Si noti che questo comando non ri"
chiede finseiì mento del dischetto,
perciò potrebbe operare soltanto sul
dischetto corrente ne niente selezio-
nato dal sistema per la lettura dei co-
mandi, ovvero la nostra copia di la-
voro di Workbench,
Per aggirare l'ostacolo i possessori
del solo drive interno possono usare
una sequenza del tipo:
COPY C/RELABEL TO RAM: (R)
RAM; RELABEL dfl);n u (Ivo no me (R)
DE LETE RA M: RE LABEL (R)
Con tale sequenza si rende residen-
te in memoria, ovvero nel RAMdUk,
il comando RELABEL; in seguito si
deve cambiare il dischetto e digitare
la seconda linea che esegue il coman-
do prelevandolo dal R AMdisk, come
specificato dai primi quattro caratte-
ri del nome del comando (RAM:).
Infine si re- inserisce il disco di si-
stema (Workbench) e si provvede a
cancellare il comando, se non più ne-
cessario. per rilasciare la memoria.
Ovviamente chi possiede anche un
drive esterno può inserì ri vi il disco
da ri denominare e + lasciando il disco
rii sistema nel drive interno, digitare:
RELABEL DEI: nuovonome (R)
Uno dei comandi avanzati ed inso-
liti, per chi è abituato a vecchi sistemi
operativi, ha il seguente formato:
SEARCH (FROM) nome (SEARCH)
stringi! (ALL)
Permette di ricercare nei file di À-
migados una stringa specificata di
caratteri. La parola FROM è opzio-
nale, come indicano le parentesi, ma
se specificata deve essere seguita dal
nome del file o della directory o la
maschera di ricerca (vedremo tra po-
co che cosa sia una maschera Amiga-
dos), Il parametro "stringa*’ è la se-
quenza di caratteri da ricercare, rac-
chiusa tra virgolette se contiene spa~
zi; la parola SEARCH è opzionale
solo se questo parametro segue il
"nome" Quando "nome' 1 rappresen-
ta una directory dì Amigados, speci -
70 - Commodore Computer Club
SPAZIO AMIGA
tic andò ALL in coda al comando si
Ottiene la ricerca della stringa all in-
terno di tutte le eventuali sub-di-
rectory di quella specificata e di tutti i
file contenuti. Esempi;
SEARCH dfl): Loredana (R)
SEARCH FROM dfl:c Martella ALL
(R)
lì primo comando ricerca la stringa
‘'Loredana 7 ' nella directory principa-
le (root -directory, convenzionalmen-
te chiamata SYS:) de) dischetto inse-
rito nel drive interno. Il secondo co-
mando ricerca la stringa "Mariella"
nella directory 'c 1 presente nella di-
rectory principale del dischetto nel
primo drive interno ed in tutte le e-
ventuali sub- directory, come specìfi-
ca ÀLL.
Parlavamo dì "maschera” di ricer-
ca. I più esperti, anche ì vecchi pos-
sessori dì C/64 o di MS-DOS avran-
no intuito che si tratta della solita
"pattern match ing^. Sotto Amigados
è possibile cioè indicare con un’ap-
posita stringa di caratteri che un co-
mando deve operare su di un insieme
di file i cui nomi hanno dei caratteri
in comune.
Se, sotto Amigados, viene ottenuto
il nome di una directory dalla ma-
schera, allora il comando può (se gli
è concesso dalla sua sintassi interna)
operare anche sulla directory e/o sui
suoi contenuti. Nei sistemi operativi
solitamente si usa un asterisco per in-
dicare caratteri, mentre Amigados li-
sa alcune combinazioni di caratteri
speciali: il punto interrogativo indica
un carattere qualsiasi, il cancelletto
(o crash) seguito da una qualunque
maschera indica qualunque o nessu-
na ricorrenza con quella maschera.
Usati insieme, (#?) indicano dunque
"un numero qualunque dì caratteri
qualunque". Inoltre esiste il simbolo
di percentuale (%) che vale come
lt stringa nulla 1 ' mentre la barra verti-
cale (presente nella tastiera italiana
nel tasto subito prima della ' frecci a-
indietro" di cancellazione, in modo
maiusocolo) indica la condizione lo-
gica "o 7 . Usando le parentesi tonde sì
possono raggruppare più maschere.
Vediamo qualche esempio:
TYPE pacco?? (R)
DE LETE #?,DOC (R)
LIST rìei$¥(ó((barra veriiCdte))Z) (R)
DE LETE commi {S{ barra verticar
mmm w
1! primo comando stampa su vìdeo
tutti ì file 1 cui nomi iniziano con
Spacco" seguito da altri due ca-
ratteri qualsiasi.
II secondo cancella tutti i file ì cui
nomi siano composti da qualunque
numero di caratteri ma terminanti
con \DOC”
TI terzo comando lista su video tutti
i file i cui nomi iniziano con la strin-
ga "nel" e terminanti con un ea ratte-
LL/tl . tt-'TU
re 6 oppure Z .
Il quarto comando cancella tutti i
file i cui nomi iniziano con "commi”
che abbiano, o meno, come terzo ca-
rattere del nome"S” e che terminano
con un numero qualunque di carat-
ten q .
Altro comando insolito nei sistemi
operativi "vecchi” è quello che per-
mette di riordinare alfabeticamente
il contenuto di un file contenente ca-
ratteri ASCII, Ricordiamo che i file
ASCII con Amiga possono essere ge-
nerati usando, da OLI, gli editor ED
ed EDIT oppure, accessibile anche
da Workbench, fi sofisticato NOTE-
RAI). Li formato è:
SORT (FROM) origine (IO) destinai
(COLSTART colon)
in cui "origine è il nome del file da
riordinare, “destinaz 71 è il nome del
file ove viene inserito il contenuto del
file "origine 77 riordinato. Come sem-
pre, se il file dove debbono essere in-
viali Ì dati non esiste, viene creato ap-
positamente mentre, se già esiste, il
suo contenuto viene sostituito dai da-
ti inviati dalla funzione.
Le parole FROM eTO sono opzio-
nali solo se si specificano i parametri
nell ordì ne indicato, come sempre.
Specificando la parola opzionale
COLS CART si deve dare un parame-
tro "colon" numerico indicante il
punto da cui, per ogni linea, va effet-
tuato fi confronto.
Si noti che la funzione SORT, e
molte altre dì Amigados, prevedono
che una linea sia chiusa da un codice
ASCII dì “LINE-FEED 1 il cui codice
numerico (10) viene inserito dai vari
editori ED, EDIT, NOTEPAD quan-
do si preme il tasto Return. Esempi:
SORT confuso TO ordinato COL-
START 9(R)
Legge il contenuto del file "confu-
so s1 e lo inserisce, riordinato, nel file
SPAZIO AMIGA
"ordinalo" eseguendo i confronti tra
le linee partendo dal nono carattere.
Ciò significa che se nel file “confuso'
si trovano tre linee ASCII come le
seguenti...
Loredana Lorcnzìn
Luisella Dalmazi
Mariella Cavestri
...il sistema considererebbe ciascuna
linea partendo dal nono carattere ed
ignorando completamente i primi ot-
to. Nel nostro caso considererebbe i
cognomi di donna, inserendo nel file
riordinato, nell’ordine:
Mariella C a vesto
Luisella Dalmazi
Loredana Lorcnzìn
Purtroppo i comandi come SORT.
che fanno uso intensivo dell’area di
memoria riservata al microprocesso-
re 68000 {sta ck), possono anche bloc-
care la macchina. Infatti uno dei più
gravi handicap del sistema operativo
di Amiga consìste nel cattivo control-
lo delle arce di memoria. In partico-
lare, quando sì giunge vicino all'e-
saurimcnto della memoria (anche
con programmi commerciali come
Deluxe Paint" e "Deluxe music con-
struction set") il sistema non segnala
alcun messaggio di avvertimento (ti-
po Om of memory ’) ma si blocca
completamente.
Anche operazioni come SORT, che
possono esaurire la memoria di lavo-
ro del processore, possono quindi
bloccare il sistema. Allo scopo di evi-
tare tale tragico incidente, esiste per
fortuna un comando di formato:
STÀCK (n)
che, specificato senza parametro
numerico, visualizza l'attuale quan-
tità di memoria riservata allo stack
del processore, dì norma 4000 bytes. ■
Prima di usare SORT con file mol-
lo ampi o programmi commerciali
sofisticati eseguiti da GLI (e in certi
cari, perfino l'interprete BASIC) sa-
rebbe opportuno aumentare notevol-
mente questo spazio di memoria, per
(tentare di) evitare gli incidenti
sopra detti.
Per esempio «10000 bytes di stack.
solitamente sovrabbondanti per
molte applicazioni, si ottengono
con:
STACK ÌOOOO ( R )
Altro comando che permette di in-
tervenire In profondità” nella strut-
tura e nel funzionamento di Amiga-
dos è il seguente:
ADDBUFFERS drive: nn
Permette di fissare la quantità di
memoria supplementare da assegna-
re ad un drive come memoria di tran-
sito dei dati. Senza entrare in dettagli
tecnici, che annoierebbero^) tutti,
aumentando la quantità di memoria
riservata ad un drive si aumenta la
velocità di lavoro degli stessi, in
quanto il sistema può trasferire ì dati
ad una velocità media superiore.
Solitamente sono riservati 512
bytes ad ogni drive. U parametro
“nn" specificato dopo il numero di
drive interessato indica quanti bloc-
chi di 512 bytes ciascuno sono da ri-
servare al drive. Si noti che questa
memoria non potrà poi essere recu-
perata (sino a spengi mento del com-
puter!). Ad esempio:
ADDBUFFERS dfì:ì i (R)
riserva (512x11=) 5632 bytes per la
gestione dei dati verso e dal primo
drive esterno.
Uno dei comandi più complessi di
Àmigados, permette di conoscere lo
stato del "task ", ovvero del program-
ma, attualmente in esecuzione. Co-
me si sarà capito, servirà solo ai pro-
grammatori più evoluti, ma lo descri-
viamo egualmente per dovere dì cro-
naca. Presenta il seguente formato:
STATUS (numerotask) (FULL) (TCB)
(SEG&) {CU o ALL)
in cui "numerotask” rappresenta il
numero della finestra GLI dì cui si
vuole sapere lo stato. In difetto, (de-
fittili) si assume che debbono essere
considerati tutti i task attivi.
Specificando opzionalmente
FULL vengono visualizzale tutte le
informazioni possibili, da richiedere
singolarmente con le altre parole
TCB e SEGS. Questa parola è co-
munque completamente inutile, per-
chè, in difetto, il sistèma illustra co-
munque tutti i dati.
Specificando Lopzione TCB si ot-
tiene la visualizzazione delle infor-
mazioni riguardanti: quantità di me-
moria riservata allo stack, dimensio-
ne del vettore globale, livello dì
priorità.
Specificando l'opzione SEGS vie-
ne visualizzato il nome della sezione
nella lista di segmento.
Specificando l'opzione GLI, oppu-
re [equivalente ALL, vengono visua-
lizzati solo i nomi delle sezioni di tut-
ti i comandi correntemente caricati
nelle finestre GLI correnti (o se-
lezionate).
Come molti avranno capito, la va-
stità del comandi di Àmigados c la
loro potenza impone spesso lunghe
digitazioni, specialmente quando si
sta lavorando con file molto 'ramifi-
cati”, ovvero inseriti in sub-sub-sub
directory.
Esiste un comando che permette di
accordare iì lavoro di digitazione, fi
suo formato è:
72 - Commodore Computer Club
ASSIGN no me per ntìmefd (USI)
Permette di assegnare ad un devine
(fisico, come una stampante, o logi-
co, come un file) ad una directory.
\\ parametro “nomepcr” rappresen-
ta il nome del de vice fisico (RAM:
SER: PAR: PRT: N1L: rispettiva-
mente per: ramdisk, interfaccia seria-
le, interfaccia parallela, interfaccia
stampante personalizzata da prefe-
rences, fittizio) o directory o drive
(DFO: DF1:.4
li parametro "nomefir rappresenta
il nome di disco, il de vice fisico o la
directory che sarà rappresentata dal-
la specifica “nomeper”, Specificando
LIST viene visualizzata la lista delle
corrispondenze assegnate attual-
mente, Facciamo qualche esempio:
ASSIGN dm: dfl:devs (R)
ASSIGN x : c/UST (R)
Con il primo comando si indica al
sistema che tutte le volte che si digita
“devs;”si intende la directory “devs"
inserita nella directory madre del di-
schetto nel primo drive esterno.
Con il secondo comando sì indica
che tutte le volte che si digita “xd* si
vuole eseguire il comando LIST pre-
sente nella directory' V\
Restano ora da descrivere solo i co-
mandi da utilizzare uei file “batch”
di comandi. E' opportuno, però, de-
scrivere dapprima il modo in cui av-
viene la redirezione di Input/Output
sotto Amigados.
Senza usare troppi paioioni, pos-
siamo dire che normalmente l’input,
cioè la lettura di dati, avviene da ta-
stiera mentre l'output, cioè la scrittu-
ra ovvero la trasmissione dei dati, av-
viene sul video in ambiente CLI. Esi-
stono però due caratteri; il “maggio-
re" ()7 ed il “minore” (0 che permet-
tono di specificare, rispettivamente,
dove vogliamo mandare, o da dove
ricevere, i dati. Come abbiamo già
detto, esistono i seguenti nominativi
per periferiche (devices):
"RAM:" per i] RÀMdìsk (sezione di
memoria usata come un disco)
“SER:” per l'interfaccia seriale RS-
232
“PAR:” per l'Interfaccia parallela ti-
po Centronics
“PRT:” per l'interfaccia Stampante
personalizzata
“NIL:” per l'interfaccia fittizia
Per quanto riguarda le tre interfac-
ce stampanti sì noti che i parametri
(velocità dì trasmissione, bit di pari-
tà, modulo conti nuo/ca ila singola,
alta velocità/ Alta qualità eccetera)
possono essere regolati solo usando
il programma Preferences (anche da
Workbench). Questo programma per-
mette anche dì fissare altri parametri,
come il numero di colonne sul video
(60/80), la velocità del cursore, i colo-
ri, eccetera e può essere invocato da
CLI con un semplice:
System/Preferences (R)
L'uso di Prete reuces è molto intuiti-
vo: basta usare il mouse e la descri-
zione del manuale Tornito con la
macchina. Nel nostro caso, perla re-
golazione dei device usabili anche da
CLI, ci si ricordi di opzionare alla fi-
ne del lavoro, in Preferences,”SAVE”
per uscire (vicino a “USE"). In questo
modo tutti i parametri scelti, dai co-
lori del video ai parametri di control-
lo delle stampanti (si noterà che sono
già previsti “drive" per molte stam-
panti commerciali) verranno memo-
rizzati dal sistema sul nostro dischet-
to Workbench o DOS di lavoro (pre-
cisamente nel file "system-confi-
guration” nella directory “devs”) e sa-
ranno automaticamente usati ogni
volta che useremo CLI con questo
dischetto,
domando ai nostri operatori di re-
direzione, ciò significa che volendo
inviare, o meglio 44 redirigere”, l'uscita
del comando LIST su stampante se-
riale (o modem, dipende da che cosa
abbiamo collegato al connettore) in-
vece che sui vìdeo, si userà sem-
plicemente:
L IST > SER: (R)
Sul video non comparirà niente di
LIST, ma la nostra stampante seriale
stamperà prontamente i risultati di
LIST. Per fare un altro esempio di re-
direzione di uscita, volendo inviare
su stampante il contenuto di un file
ASCII chiamato “nel” {posto nella
directory “s” nel primo dischetto e-
sterno) si userà:
TYPE > PRT:sEriel (R)
Ovviamente è possibile usare un fi-
le, invece di una periferica, per rice-
vere od inviare dati. Ad esempio, vo-
Commodore Computer Ctub - 73
lendo memorizzare la dabr corrente e
l'ora come prodotti da DATE in un
file chiamalo "dataodiema 11 , si utiliz-
zerà un semplice:
DATE ) dataodiema (R)
Analogamente è possibile inserire
in un file ASCII, chiamato "bui data 1 ,
tutti i comandi richiesti dal comando
date, usando un editor (ED nel no-
stro esempio) così:
DISKDOCTOR DRIVE dJO: (R)
ED hufdata (R)
19-mùy-S? 1 8:00:00 (R)
(ESCARE) X (RETURN)
. Tr e (issare automaticamente con DA-
TE quella data (ed ora) usando da
CL1:
DATE < hufdata
In questo caso abbiamo rediretto
l’input del comando DATE devian-
dolo dalla tastiera (normalmente as-
sunta come periferica di ingresso in
difetto di operatori di redirezione) al
file da noi creato.
Il RÀMdisk può essere usato esat-
tamente come un dischetto, come ab-
biamo già visto in articoli precedenti,
ma molto più veloce.
In Amigados, versione 1.2. è previ-
sto un apposito comando dal for-
mato:
DISKDOCTOR DRIVE DFn:
In pratica, per tentare il recupero di
un dischetto, sì deve digitare un co-
mando tipo:
poi attendere che il sistema carichi
da Workbench il comando e segnali
di inserire nel drive specificato (nel
nostro esempio, quello interno) il di-
schetto da analizzare. Quindi sì pre-
me Return.
I) sistema leggerà finterò contenu-
to del disco e cercherà di recuperare
il maggior numero dì file possìbile.
Sul video, durante il lavoro, vengono
segnalati eventuali messaggi per in-
dicare che è stato riscontrato un erro-
re hardware...
"Hard error surface" NN
...oppure software:
"File is unrcadable o bad checksum”
Nel primo caso si intende che il di-
fetto è proprio nel supporto del di-
schetto, perciò alla fine de! recupero
è vivamente consigliabile gettarlo in
pattumiera c comprare in futuro
marche migliori.
Nel secondo caso il sistema richie-
derà se deve cancellare il file oppure
lasciarlo inalterato. In seguito viene
suggerito, da video, di effettuare una
copia del dischetto (DISK COPY) per
recuperare ì file ricostruiti c provare
a ri formatta re il disco stesso.
Un dottore per Amiga
Tutti coloro i quali hanno lavorato
con vari computer, di qualunque fa-
scia di prezzo, sanno che capita spes-
so di ritrovarsi con dischetti illeggibi-
li. Non che sia colpa del drive di Ami-
ga, tecnologicamente e tecnicamente
uno dei più avanzati nel f ambiente
del 3S (si pensi che è a doppia testi-
na ed in grado di leggere una traccia
intera in un colpo solo) ma spesso ca-
pita egualmente che un dischetto
male inserito, la mancanza di cor-
rente od una variazione di tensione a
causa dì un temporale oppure, più
frequentemente, dischetti dì cattiva
qualità, diano questi difetti.
Con gli altri computer, solitamente,
si deve ricorrere ad appositi pro-
grammi per cercare di recuperare i
dati preziosi contenuti nel di-
schetto dilettoso.
A proposito di dischetti, con Amiga
è possibile montare anche dei drive
per il formato classico 5,25’ ormai in
via di estinzione pe la maggiore affi-
dabilità dei 3,5. Ciò permette, tra fal-
tro, di emulare vìa software o via
hardware (leggi Sidecar) rispettiva-
mente il 30% ed il 95% del software
MS/DOS (quello degli IBM). Un in-
conveniente è che il sistema non rile-
va automaticamente, come perì 3,25,
il cambiamento di un dischetto. Esi-
ste perciò, nella versione 1.2, un co-
mando dal formalo:
DISKCHANGE DFn;
Esso impone al sistema di leggere ì
dati relativi al dischetto inserito nel
drive da cinque pollici specificato col
solito sistema: se è collegato come
primo esterno sì usa DF1: per il se-
condo esterno DF2: eccetera.
Si noti che spesso capita di vedere
ricomparire file cancellati (DELE-
TE) perchè al momento di impartire
il comando di cancellazione non
vengono fisicamente cancellati dal
disco, ma solo segnalato, con un ap-
posito codice sul primo blocco, che il
loro spazio è ri utilizzabile, cosa ch e
il sistema può anche non fare subito
lasciando praticamente intatto c re-
cuperabile tì file.
Perciò DISKDOCTOR permette di
recuperare un file sicuramente se è
stato cancellato da poco tempo. Que-
sto comando permette di ricostruii re
facilmente file grazie alla loro parti-
colare struttura "'ad albero doppio*
che è fisica sul disco e non so-
lamente logica.
Per j tecnici: non esiste, quindi, un
qualcosa di simile alla BÀM del C/64
(o di Apple), ma ogni file contiene
'l’indirizzo" del precedente e del suc-
cessivo: partendo da uno solo di essi
si può, virtualmente, ricostruire fin-
terà struttura di un disco.
74 - Commodore Computer Club
ENCICLOPEDIA L.M.
Tre nuovi comandi
per operare in Basic
Come aumentare la potenzialità
del vostro C/64 programmando ,
con una manciata di byte, alcune
particolari funzioni
a cura di Alessandro de Sìmone
FINO
(25754/25903)
F* ind è un’istruzione che sì trova spesso nei tool di pro-
grammazione in Basic ET utile durante la correzione di un
programma quando é necessario ricercare un’istruzione, o
un gruppo di istruzioni, allo scopo di apportarvi modifi-
che o sostituzioni,
Il comando presentato in queste pagine risulta completo
e versatile.
Con la prima delle due forme sintattiche è passibile ri-
cercare solo stringhe, mentre con l’altra si potranno indivi-
duate le righe che contengono comandi Basic; abbiamo
quindi aggiunto un parametro che permetta di specificare
se il gruppo di caratteri da ricercale è uti insieme di co-
mandi Basic oppure una stringa. Come certamente sapre-
te* i comandi Basic non vengono memorizzati come se-
quenza dì caratteri ascii, ma sotto fórma di codice di un so-
lo byte, detto “ToketT; ad esempio, il codice dell'istruzione
Frinì è 153, mentre quello di Goto è 137,
L operazione di codifica dei comandi Basic viene detta
“tokenizzazione T ed ha un duplice scopo: il primo è quello
di consentire il risparmio di memoria dal momento che ì-
struzioni che occupano in media 4 byte, saranno contenu-
te in un solo byte; inoltre il programma in esecuzione ri-
sulterà più veloce dal momento che non sarà più necessa-
ria fin te rp relazione dei comandi, carattere per carattere,
ma basterà una tabella in cui siano contenuti i salti da ese-
guire per le varie istruzioni.
La sintassi per il funzionamento del coniando Find è
il seguente:
srsxxxxa strino
In cui XXXX è Lindi rizzo dì partenza della routine (inte-
ramente rilocab ile, come tutte le routine dì questa enciclo-
pedia), e " Stringi è la siringa di caratteri da ricercare: gli a-
pici sono necessari per impedire la tokenizzazione della
stringa stessa, che non ne permetterebbe il riconoscimento
durante la fase di ricerca,
La seconda forma sintattica è la seguente:
SYS XXXX OPT, COMM
in cui OPTè un numero qualsiasi compreso tra 1 e 255. e
COMM è il comando cercato,
E J possibile inserì re più comandi, separati dal carattere
doppio punto* purché sia presente, nel listato oggetto di ri-
cerca, la stessa sequenza.
Non è quindi possibile inserire altre istruzioni di seguito*
sulla stessa riga, perche verrebbero interpretate come co
ma ntl i da ricercare.
Commodore Computer Ciub - 7b
Come utilizzare le routine
r
c
LJJ u.1 N.31 di Commodore Computer Club è
iniziata una nuova rubrica che ha Jo scopo di
venire incontro ai principianti (senza trascu-
rare gli esperti), die desiderano potenziare a]
massimo le caratteristiche del proprio
computer.
Il Basic presenta, infatti, carenze notevoli
che possono esser limitate ricorrendo all’uso
dì routine in linguaggio macchina (LM); è
sufficiente attenersi alle istruzioni pubblicate
per utilizzare i sottopTOgrammi LM con la
massima semplicità. Gli “esperti” potranno
fare a meno di seguire le istruzioni ed utilizza
re direttamente t programmi L.M. pubblicati,
I principianti, invece, fe opportuno che leg-
gano con attenzione le “istruzioni per l'uso”.
0' Se questa è la prima volta che leggete la
rivista, accendete il vostro Commodore 64 e
saltate al punto N.2.
1 1 Accendete il computer e, se desiderate
^fondere” alcune (o tutte) le routine di que-
sto numero con quelle tratte dai numeri pre-
cedenti (a patto, ovviamente che ne siate in
possesso); caricate il file-programma “Nuovo
Sistema” (nome standard adottato) con una
FISSA TOP MEMO
100 PRINTCHR$( 147) "FISSA TOP DI
MEMORIA "
110 INPUT " ULTIMA LOCAZIONE" ;X :
X~X-1
U2 PRINT.PRtNT-I VAldkì ATTÙAL
l SONO:" ; FRI NT
113 Xl~INT(X/256> :X2-X-(X1*256)
115 PRINT P£EK( 55) F'PEEK(55) : PR
LNT"PEEK<56) : "PEEK'(5Ó)
116 PRINT' FRE(O) F'FRE(Q)
117 PRINT : FRI NT” l VALORI NUOVI
SAREBBERO : “ : PRINT ; PRINT"PEE
K(55) :"X2
118 PRINT PEÉK{56> F'Xl
120 PRINT. PRINT" CONFERMI? (S/N)
i ii
130 ÌF PEEKC 197)^64 TREN 130
135 IF PEEK( 1 97) < >13 THEN POKE
198.0: RUN
150 POKE 55. X2 -POKE 56 r Xl: PUNÌ
60
160 PRINT'TRE(O) F'FRE(Ù) :PRINT:
PRlNT'NEW ,J
SAVE ZONA RAM
150 PRINTCHRiC 147 } .-INPUT '' LOCAZ
IONE INIZIALE" ;X
160 INPUT 1 LOCAZIONE FINALE" :T
170 PRINT : PRINT' INIZIO: "X sPRINT
delle due forme sintattiche che si riferiscono,
rispettivamente, ai possessori di nastro o
disco:
Load “Nuovo Sistema”, 1,1
Load “Nuovo Sistema*\S,l
Subito dopo digitate NEW e premete il ta-
sto Return.
2 1 Caricate il programma “Fissa Top di me-
moria" e lanciatelo col solito RUN. Alla do-
manda “Ultima locazione?” digitate 20000 e,
alla successiva richiesta di conferma, premete
il tasto “S". Le altre informazioni che appaio-
no sul video possono esser comprese solo da-
gli esperti: i principianti possono tranquilla-
mente ignorarle e saltare alla prossima fase
(N.3).
3 1 Caricate (o digitate dalla rivista) il pro-
gramma “Caricatore".
4 f Digitate dalla rivista la routine che interes-
sa (scritta sempre in Basic, contenente in pro-
va lenza istruzioni Data e numerata da 1000 in
poi).
"FINE T
180 IF 7<-X THEN RUN
190 PRINT : FRI NT 1 CONFERMI? (S/N)
il
200 G£T A$:IF A$~"" THEN 200
2 10 IF A$< r’S 11 THEN RUN
220 PRINT : INPUT "NOME FILE" ;A$
230 PRINT 1 1- CASSETTA" :PRINT"2~
DISCO "
240 GET B$:IF THEN 24 0
250 IF B$ -"1" THEN W-1;GCTQ 280
260 IF THEN W**8:GOTO 280
270 GOTO 240
280 PRINTCHR$(1 47);
290 POKE 195,5 : POKE 631 ,19. POKE
632 A3:POKE 633. 13 .POKE 63
4,13;PQKE 635,0
300 Xl-INT(X/256) :X2-X-(X1*256>
:PRINT' FT44 , “XV 1 :PT43 . "X2 ;
310 Yl~lNT(T/256) :Y2*T-(Y1*256)
:PRINT “ :PT46F‘Y1" :PT45, ''Y2
320 PRINT : PRINT : FRI NT'\S* "CHR$(3
4)A$CHR$(34)" F'WW'
330 PRINT : PRINT: FRI NT :PRINT :PR1
NT"SYS647 38"
CARICATORE
150 REM PER UTILIZZARLO , LEGGI
LE ISTRUZIONI PUBBLICATE SU
160 REM COMMODORE COMPUTER CLUB
5 f Effettuate una copia di sicurezza del pro-
gramma che rappresenta la “fusione 1 dei due
listati (“Caricatore 1 ' + routine Basic
pubblicata).
6 1 Dopo aver digitato Run, alla domanda “Da
quale locazione? 3 " rispondete con l'indirizzo
iniziale suggerito nello stesso titolo della rou
line in oggetto. Se il computer, dopo alcuni
secondi, visualizza, come indirizzo finale, un
valore diverso da quello pubblicato nel titolo
(oppure il messaggio “Errore di trascrizio-
ne”)* interrompete il lavoro (lesti Run Stop e
Restore) e verificate con attenzione quanto
avete trascritto da rivista.
Se s invece, compaiono messaggi “confor-
tami" (Routine allocata da... a... Attivare
con Sys... ed altre informazioni comprensibili
dagli espcri!)* digitate il programma dimo-
strativo e lanciatelo; da questo momento ave-
te a disposizione una nuova routine LM da
attivare mediante SYS come indicato nelle
istruzioni pubblicate per ciascuna routine.
7 ; Ripetete le operazioni, dal punto 3 in poi,
per ciascuna routine pubblicata che intendete
170 :
180 ì'-’-l .‘GOST/B 1000 . PRINT . INPUT
"DA QUALE LOCAZIONE" ;X
190 READ W:Y-Y+1;!F W< 0 THEN 21
0
200 GOTO 190
210 PRINT'PRIMA LOCAZIONE - ’X
220 PRtNT"ULTIMA LOCAZIONE ~"X+
Y-l SPRINT
230 PRINT" CONFERMI? (S/N)"
24 0 GET A$: IF A $ THEN 240
250 ir A$-"S “ THEN NESTORE :T~X
GOTO 280
260 RUN
270 :
280 GOSUB 1000 SPRINT SPRINT" ATTE
NDERJE. , . " SPRINT :W~ù
290 READ B ; IF B >~Q THEN POKE T,
B :T-T+ 1 :W-W+B :G0T0 2 90
300 READ 3 : IF B< >W THEN PRINT :P
RINTCHR$( 18) "ERRORE DI TRAE
CRIZIONE " sEND
310 PRINT" ROUTINE ALLOCATA DA"X
"A'T-V'CmPR." : PRINT
320 PRINT" ATT IV ARE CON SYS'XsPR
INT
330 Xl-lNT(X/256) :X2^X-(X1*256)
: PRINT" POKE44," XI” :P0KE43 r >,
X2 •
340 YÌ-INTCT/256) :Y2-T-(Y1*256)
.PRINT 1 ' .POKE46 . r 'Yl" .P0KE45,
"Y2:£ND
76 - Commodore Computer Club
■'V-v
‘coJlezmnare’ non dimenticando di digitare
NEW dopo ogni felice conclusione della fase
N.6.. Ai principiami consigliamo vivamente di
trascriverle tutte in modo da aumentare Ja
propria esperienza e + soprattutto, per evitare
incomprensioni degli articoli che leggeranno
su Commodore Computer Club.
, + , v V ^i^puLVi V IUU,
• - :;
^Caricate, dopo un nuovo NEW, il program-
ma Save Zona Ranri e r dopo il Run, alla
domanda "Da quale locazione?" rispondete
con 20000. Alla seconda domanda L A quale
locazione J1V ri pondei e digitando TtncliriiHO fi-
nale ddrultima routine trascritta, A seconda
se avete un registratore oppure un drive, suf
nastro (oppure sul disco) vi ritroverete, dopo
aver risposto alle varie domande, il file-
programma “Nuovo Sistema" (nomeche sug-
geriamo di assegnare quando compare la refa-
ti va domanda). Tale file -programma {da cari-
care come indicato al punto l) sarà utilissimo
sia per arricchire la vostra raccolta (trascri-
vendo le routine dei prossimi numeri di Corri-
.
rtiodorc Computer Club), sia per utilizzarle in i
vostri listati, i
" • ■ , - •/ C?
7- |*' Vvl.' ',• * ■ ■■ ’,Yl' - - - J Zv
..... ; ‘ ./ ‘ §
9 * Digitate SYS 64738 oppure premete il tasto
dt Reset (se lo possedete) in modo da rimette-
re "a posto" il computer, Caricate il program- \
ma “Fissa Top di memoria" e rispondete coti ;
20000 alla domanda che vi porràL da questo
momento potete disporre sia delle consuete
istruzioni Basic che delle routine LM richìa- \
inabili con le éorrisportdenti SYS- Non di-
monticate di ripetere la preseme fase (N.9) |
tutte le volte die premete il tasto di Reset o I
dopo un reset software (SYS 64738), Se, ìnve-
ce, spegnete il computer, sarà necessario at
tuare la fase NT e N.2 per inserire nuovamen-
»
te nel calcolatore le nuove routine ed usarle ;
seiua pericolo.
Collaborazione dei lettori
I
■ ;■ I
I lettori che intendono coHabontre devrmo
inviare (almeno) tre routine, retativi listati di-
mostrativi ed articoli esplicativi. Le norme da
seguire per la stesura del listati (piuttosto rigi-
de, per ovvi molivi dì compatibilità) sono state
segnala te su l N .3 L Per ulteriori tu formazioni
comunque, è possibile telefonare in Redazione
(0V9467m) chiedendo di Michele Maggi,
GRAPHIC
EXPANDER
128
Aggiunge al tuo Commodore
128 ben 14 comandi Basic e-
spressamente dedicati alla ge-
stione della grafica su schermo a
80 colonne (640x200 punti),
E’ possibile ottenere il software
in questione (solo su dischetto)
compilando il coupon a fondo
pagina e indirizzandolo a:
Systems Editoriale
Viale Famagosta, 75
20142 Milano
Modalità di pagamento
Ai coupon va accluso un assegno di Lire 27.000 (compren-
sivo delle spese di spedizione) intestato alia Systems
Editoriale.
Vi prego di inviarmi il dischetto Graphic Expander 128.
Nome.......
Cognome...
Indirizzo.....
Cap Città
Accludo assegno di Lire 27,000. (comprensive dt spese di
spedizione).
Firma
ENCICLOPEDIA L.M.
1000 PRINTCHR9K 147) "FINO ”
1010 PRIMT : PRINT”SYS XXXX,TYPE,C
OnLINE”
10E0 PRINT: PRINT”TYPE“SPECIFICA
CDMLINE”
1030 FRI NT : FRINÌ” TYPE=0: COM
LINE-STRINGA (CHE DEUE”
1040 FRINÌ” ESSERE PR
ECEDUTA DA: ”;CHR$(34)
1050 FRINÌ ; PRIIMT” 1<TYPE<255:
COML I NE=L I STA COMANDI ”
1060 PRINT : PRINT”COMLINE=STRINGA
O LINEA COMANDI”
1070 FRINÌ : PRINT” SE COML
INE E* UNA STRINGA”
1060 PRINT” DEUE ESSERE P
RECEDUTA DA: ”;CHR$(34)
1090 RETURN
1100 DATA 173,000,003,141,167,0
06,173,001, 003 , 141 , 16B , 006 ,
064
1110 DATA 165,060,105,135,141,0
00,00 3,165,061 , 105,000,141 ,
001
1160 DATA 003,036,653,174,036, 1
5B, 103, 136,076,036,653, 174,
104
1130 DATA 608,003,032,115,000,1
65,043,133,651,165,044, 133,
656
1140 DATA 169,004,133,654,160,0
00,177,651,600,017,651 ,60B,
015
1150 DATA 173,167,002,141,000,0
03,173,166,002,141,001,003,
076'
1160 DATA 059,169,160,000,132,2
53.164.254.177.251 . 133.002,
230
1170 DATA 254, 640, 667, 164,553, 1
77 , 122 , 640,014, 166 , 005,240,
031
1160 DATA 197,002,506,268,230,2
53 . 240 . 209 . 200 . 226 . 160 . 002 ,
177
1190 DATA 251,133,020,200,177,2
51 , 133,021,032,019,166,166,
020
1600 DATA 165,051,076,501,166,1
60,000, 177,251, 170,200,177,
251
1610 DATA 133,252,134,651,024,1
44 , 15B, -1 , 13195
10 REM ESEMPIO DI EUNZIONAMEN
TO FINO
50 XX=25754 : REM INDIRIZZO SCE
LTO DA C.C.C.
65 PRINTCHRSC147)
30 SYS XX, 1 ,PRINT"PIPPO”
31 FRINT”LINEA 30”
35 POKE 198,0: UIA1T 196,1: FRI
NTCHRSC 147)
40 SYS XX , 1 , "PIPPO”
41 PRINT”LINEA 40”
45 POKE 19B , 0 : bJAIT 19B,1;PRI
NTCHRSC 147)
50 SYS XX, 0, ”PIPPO
51 PRINT: PRINT”LINEA 50"
55 POKE 19B,0:LiAIT 19B,1:PRI
NTCHRSSC 147)
60 SYS XX , 1 , PEEK
61 PRINT "LINEA 60"
65 POKE lSa,0:UAIT 198,1:PRI
NTCHRSC 147)
70 SYS XX.0, "PEEK
71 PRINT "LINEA 70”
80 END
100 PR INT”PI PPO”
110 PRINT"L' ISTRUZIONE PEEK SER
UE A ...”
150 A=PEEK (1024)
130 REM PIPPO CHIAMA PIPPO
78 - Commodore Computer Club
ENCICLOPEDIA L.M.
Program:' FINO
□rigiri: SC000
By Fabio Soryato
LDA 50300
STA $02A7
LE A $0301
STA $02AG
CLC
LDA 314
ADC #$07
SIA $0300
LDA $15
ADC #$00
STA $0301
J5R 3AEFD
JSR $B7SE
TXA
PHA
JSR SAEFQ
PLA
BNE *C0PC
JSR $0073
*C0£C LDA $£B
STA 5FB
LDA $ec
STA $FC
*C034 LDA #$04
SIP $FE
LDY #500
LDA CSFB)
; Salva gli indirizzi
[delle errar routine'
; Utilizzando l’indiriz-
; 2 Q di chiamata della
;SYS, sceglie il
jsalto della error
; routine ,
[Prende una; virgol a
; ed un numero a Q bit
;e lo salva;
jprende una nuova vir-
[gola e se il parametro
sera 0,
;saJLta le apici:”
[Inizia la ricerca
[dall * inizio del
; programma
j
[Salta il link e il
inumerà di linea
;se e ' la fine del
» Y ; programma
1NY
ORA t$FB) t Y
BNE *C050
*□041 LDA $03A7 ; mette i vecchi punta-
STA $0300 [tori alla error
LDA 30SA0 'routine
STA '$0301
JflF $A33B ; eri esegue REM
*C050 LDY tt$00
STY SF.D
*C054 LDY $FE ; prende un byte
LDA C$FB3,Y
STA
INC 5FE ; se la linea e 1 piu'
BEQ *C041 ; lunga di 255 caratteri
LDY SFD
LDA C57A)
BEO *C07£
LDX $00
BEO *C0B7
Cn? $0£
BNE *C050
INC $FD
BEO *C041
BNE *C054
; torba al basic
»
Y ;se la comparazione
[ha successo, stampa
; la linea
i se la linea basic
; in esame e* terminata*
; passa alla successiva
; se il confronta ha
; successo ,
; passa alla riga suc-
; cessi va ,
[altrimenti ricomincia
[il confronto dal
[primo carattere
*C07c? LDY #$02 ^prende il numero
LDA C5FBI) , Y ;di linea e lo salva
STA
$14
;.in S14-S15
INY
LDA
C$FB} . Y
STA
$15
JSR
$AS13
;ricErca la linea e
LDX
$14
5 mette, 1 ’ inizio della
LDA
$15
; stessa in $5F-$60
jnp
$A6C3
[stampa la linea;
L
; la routine termina con
;JnP C$0300}, che
[ conterrà 1 , in questo
;caso $CBS7
*Cfi07 LDY
#$00
[prende i due bytes
LDA
C $FB ) ;
Y [di link
TAX
;e lì mette in SFB-FC5*
INY
LDA
CSFBl ,
Y
STA
$FC
STX
$FB
; iniziando cosi J a.
CLC
[scandire una nuova
BCC
*C034
[linea di programma
XOR
(25904/25969)
!1 Commodore 64 è provvisto di alcuno istruzioni che
permettono le operazioni binarie 0& AND e NOT.
Un'altra operazione, fondamentale per V aritmetica bina-
ria, è Hstmzione XOR, assente nel Basic V.2
L'operazione XOR permette di determinare se due bit
sono uguali o meno: se eseguiamo XOR tra due bit uguali
il risultato sarà 0, se invece i due bit sono diversi il risulato
sarà 1.
Siccome non è possibile la simulazione di XOR tramite
OR, AND e NOT (cosa che può avvenire* ad esempio, per
il NGR. il NAND ed altri operatori booleani). la routine di
queste pagine, lunga una manciata di byte, permette dì u-
sare, anche in Basic, l'operatore XOR.
II "funzionamento" è il seguente:
SYSXXXX,A> B. VAR
in cut, come al solito* XXXX è f indirizzo di partenza
della routine, A t B sono i due numeri (che devono essere
compresi tra 0 e 65535}, tra cui eseguine F operazione, e Var
è il nome della variabile numerica, in virgola mobile, in
cui verrà posto il risulato delfope razione stessa.
1000 PR INTCHRSC 147 3 ”XDR ,J
1010 FRINÌ : PRINT 1? 5Y5 XXXX,A,B,NLJ
riUAR”
10B0 FRINÌ : FRINITA & B- I DUE 0F
BRANDI DI: A XOR B"
1030 FRINÌ : FRINÌ 11 0<-A<-65
535 0< ~B< =B5535 "
1040 FRI NT: PRINT"NUMUAR=UARI AB IL
E NUMERICA CHE CONTERRÀ f ,r
Commodore Computer Ctub - 79
ENCICLOPEDIA L.M.
1050 PRINT” IL RISULTATO D
ELL ‘OPERAZIONE"
1060 RETURN
1100 DATA 032 , 853 ,174, 032 , 138 , 1
73.032.247.103.132.251 .133,
252
1110 DATA 032,253,174,032,138,1
73.032.247.183.069.252.133,
252
1120 DATA 152,069,251,133,251,0
32.253.174.032 . 139.176. 133,
253
1130 DATA 132,254,165,013,005,0
14,240,005,162,022,106,003,
003
1140 DATA 164,251,165,252,032,1
45,179, 166,253,164,254 , 076,
212, 1B7 , -1 , 9673
1150 END
Program: XOR
Qrigin; &C000
By Fabio Sorgato
JSR SAEFD
JSR SAQ8A
J5R S67P7
5TY £FB
STA SFC
JSR S8EP0
J£R 5AD0A
JSR SB7F7
EOR SFC
STA SFC
TYA
EOR SFB
STA SFB
; prende una virgola
je un numero intero
; positivo a 16 bit,
; sa Iva il numero
iprencle un'altra
;virgola e un altro
; numero
t esegue l'operazione
jdi or esclusivo Cxor3
JSR SAEPD
JSR $B0SB
STA SFD
STY SFE
LDA S0D
ORA S0E
BEO +C®3H
prende una terza
virgola e crea la
variabile dove mettere
il risultato
salva i puntatori
alla variabile
se la variabile non
e* numerica a virgola
mobile
LDX WS16 ;
jnp CS0300)
*C034 LDY SFB
LOA SFC
JSR SB331
7TYPE FI I SMATCH ERRDR
converte il risolato
in un numero a virgo
la mobile e lo mette
nel fio aocumuìator
LDX 2FD ; usando i puntatori,
LDY $FE ì trasferisce il Flp acc
JnP SBBD4 ; nel la variabile
DUMP
(25970/26172)
Dump è un'istruzione die non richiede parametri. Ser-
ve. infatti, a riporta re la lista ile! le variabili utilizzate fino a
quel momento.
Impartita la SYS XXXX. in cui XXXX è la locazione di i-
nizio della routine, apparirà la lista delle variabili intere,
stringa e in virgola mobile fino a quel momento
elaborate.
Per riportare la lisci su stampante è necessario eseguire:
OPEN 1,4 : CMD /: SYS XXXX
Al termine della stampa Sarà necessario riportare
l'output su video con: »
PRINT#]: CLOSL I
1000 PR INTCHR5C 147) “DUMP”
1010 PRINT : PRINT "SYS XXXX”
1020 PRINT: PRINT‘‘PER DUPUT SU ST
AMPANTE: "
1030 PRINT: PRINT" OPEN 1,4:CMD
1 : SYS XXXX”
1040 PRINT: PRINT" AL TERMINE : P
R1NT#1 : CL0SE1 ”
1050 RETURN
1100 DATA 160,000,165,045,166,0
46,134, 096 ,133, 095 , 220 , 040 ,
208
1110 DATA 004,197,047,240,070,2
00,177,095,136,041 , 120,240,
065
1120 DATA 177, 095, 041 , 12B.20B, 1
02.177.095.041.127.032.210,
255
1130 DATA 200,177,095,041,127,0
32.210.256.169.036.032.210,
255
1140 DATA 169,061,032,210,255,1
69,034,032,210,255, 160,003,
. 177
1150 DATA 095,133,034,200,177,0
95, 133,035,160,002,177,095,
032
1160 DATA 036,171,169,034,032,2
10 , 255 , 024 , 144 , 008 , 096 , 144 ,
175
1170 DATA 177,095,032,210,255,2
00 , 177 , 095 , 032 ,210,255 , 169 ,
061
80 - Commodore Computo < Club
ENCICLOPEDIA L.M.
1180 DATA 032 ,810, 855 , 324 , 165 , 0
35,105,002,072,165,036,105,
000
1130 DATA 163,104,032,162,137,0
32,221 , 133,032,135,130,032,
033
1200 DATA 171,024,144,042,160,0
00,177,055,041,127,032,210,
255
1210 DATA 200,177,095,041,127,0
32,210,255,169,037,032,210,
255
1220 DATA 163,061,032,210,255,2
00,177,035,072,200, 177,035,
16B
1230 DATA 104,032,145,173,024,1
44 . 202.150.000. 024. 155.035 ,
105
1240 DATA 007,133,095,165.036,1
05.000. 133.036. 163.013.032,
210
1250 DATA 255,165,035,166,036,0
24, 144,142,-1, 25154
Program: DUriP
□ rigiri : $C000
By Fabio Sorgalo
LDY #$00 ; inizia il LIST delle
LDA $2D jvariabili dall’inizio
LDX $5E ; dell 'area riservata
STX $60 ;alle variabili
STA $5F
*C0CA CPX $30 i se a' terminata la
BNE *C012 ; sessione
cnP $2F
E£0 *C056 ; torna al basic.
•caia INY
LDA (£5F1,Y ; prende il seconda
DEY ; carattere del nome
AND #$60 ;della variabile, se il
; bit 7 e* a 0, la
[variabile e 1 numerica
BEO *C0SB
LDA CSSFl
AND tt$Q 0
BNE *C086
; a virgola mobile
,Y ;sé il bit 7 del
; primo carattere e 1 a 0 a
; la variabile e strinna
LDA CSSFljY ; stampa il prima
AND #$7F
JSR $FFD8
INY
LDA £$5F),Y ; e il secondo carat-
AND tt$7F jtere del nome,
JSR SFFDE
LDA tt$E4 ; stampa $
JSR SFFDE
LDA ft$3D ; stampa =
JSR SFFDS
LDA tf:$EE ; stampa "
J5R $FFDB
LDY #$03
LDA CS5F1 3 Y ; ubando i puntatori
STA $EE ideila variabile
INY
LDA C$5F5,Y
STA SE3
LDY #$0E ;e la lunghezza,
LDA CSSFl.Y
JSR SABE4 ; stampa la variabile
LDA ; stampa u
JSR SFFDE
CLC ; ricerca la prossima
BCC *C0Et0 ; variabile*
*CS5B RT5 ; Ritorno al basic
*C05S BCC *C00A 'Richiamo di salto,
*C0SB LDA CS5FljY ; stampa il primo
JSR $FFD£
INY
LDA C$5F) S Y ;e il secondo
JSR SFFDE [Carattere del nome,
LDA #$3D ; stampa ~
JSR SFFDE
CLC
LDA $5F [usando i puntatori
Commodore Computer Club - 81
ENCICLOPEDIA L.M.
ADC ; al la variabile,
PHA
LDA $B0
ADC #$00
TAY
FLA
J5R SBBAB j carica il contenuto
ideila variabile
; nel Flp accuntuiator
*C07A JSR $BDDD ;Converte in stringa
JSR 5BH87 ; prepara i puntatori
;di stampa
JSR $AB21 *e stampa la variabile
CLC ; passa alla variabile
BCC *C0B0 ; successiva
*C005 LDY #$00 i
LDA C$5F3,Y ; stampa il primo
AND #$7F
JSR SFFDP
INY
LDA C$5F>,Y ;e il secondo
AND #S7F i carattere del nome
J5R EFFD2
LDA #$25 ; stampa k
JSR SFFD2
LDA #$3D ; stampa =
JSR SFFD2
INY
LDA C^SFljY ; prende il byte
PHA -, alto e
INY
LDA CS5F),Y ;il byte basso,
TAY
RLA ;convÉ3rte in
JSR SB331 ìfloatxng point Cflpl
CLC ; e stampa come
BCC *CS7A ;se Fosse una varia^
;bile flp-
*C0B0 LDY #$00 ; passa alla variabile
CLC i successiva,
LDA $5F
ADC #$07 ; saltando i 7 bytes
STA $5F idi cui e 1 composta
LDA $60 : una variabile
ADC #$0fr
STA $60
LDA #$0D -stampa un CR
JSR SFFD£
LDA $5F
LDX $60
CLC
BCC *C053 ;e continua
(Le routine dì questo numero sono opera di Fabio
Sorgalo).
a®S:*3 -#
Vuoi collaborare esclusivamente su supporto magne-
, tico, L output su caria e facol-
con Commodore tativo.
■
CompiltGr Club? Se vuoi proporre programmi in lin-
'4%
:
con
Gli articoli pubblicali verranno
compensati con cifre in linea coti i
più alti standard dì mercato»
guaggìo macchina ricordati che devi
Ricorda che verranno esaminati so- sempre allegare il disassemblato
io i programmi inviati so disco pur- commentato del file LAI: non di-
che corredati da articoli scritti con nienticare che i nostri lettori voglio-
Word I foce ssor normalmente Com- rm ìmnarorA « nrnar^mmarp rmn
he vuoi proporre programmi in Jtn- Verranno esaminati solo ì program-
guaggìo macchina ricordati che devi m i e gli articoli preventivamente
sempre allegare il disassemblato concordati per telefono: non inviare
commentato del file LAI: non di- articoli o programmi che non siano
* ° .
menticare che i nostri lettori voglio- stati esplicitamente concordati con
™ *
mercializzatl.
. 4
. ■ •:
no imparare a programmare e non la Redazione,
si accontentano di digitare una fila
di codici apparentemente privi di II numero di telefono
significato. ài C.C.C. è: 02/84.67.34.8
-yxZ'-i- ■
--.-•4- V • '
>£> ' •
Qualsiasi programma» tabella» arti-
colo e disassemblato deve pervenire
:12 k =3
■ , - ••••:.
82 - Commodore Computer Club
PROTEZIONI
Tecniche di Auto Run
per C/128
Un paio di accorgimenti per tentare
la protezione dei programmi scritti
in “modo” 128
di Domenico Pavone
XJ na delle caratteristiche che ren-
dono evidente li salto qualitativo dal
C/64 al C/128, è senza dubbio la
possibilità di far partire un prò*
granulia semplice mente inserendo
un dischetto nel drive c accendendo
il computer (procedura di boot
strap).
Pur essendo ovvi i grossi vantaggi
che si possono ottenere con tale
tecnica, c altresì evidente che se un
dischetto è “imbottito" dei 144 fi Ics
che può contenere, soltanto uno
potrà godere del privilegio di essere
caricato e lanciato airaecensione o
tramite il comando BOOT, Si può
anche utilizzare la pressione con*
temporanea dei tasti Stufi c Run/
Stop per lanciare il primo pro-
gramma presente nella director), ma
il problema non si discosta di
molto*
Quindi, a meno di non utilizzare
un dischetto per ogni programma, un
buon "autorun 1 ’ può risultare utile
anche per il C/128 in modo, ov-
viamente, 128: vuoi per rendere (un
po') più diffìcile ìa sprotezione di lui
nostro programma, vuoi per ri-
sparmiare Fini mane fatica di digitare
RUN dopo il caricamento.
Il tema delibati tostar! (anche se con
riferimento ad altre macchine) è
stato trattato svariate volte su questa
rivista. Dovreste già sapere che il
"di rotta mento" di alcuni vettori del
sistema operativo e quasi sempre
positi alla base della realizzazione di
un qualsiasi Run Maker, Filtrando
PROTEZIONI
1 ' i_l
SJMONes.
ùAlLtfJA
■
|
... * ■■■ '.• • .
i
1
*5 .
■ •' ’ .* ' •: 1
- . ..
, ■ . &
, h . : ■■■■■ , -
: ;• > • • • - • •?••• "
:"v'^ •
f
V
,
fe'§
yw
nel merito, ciò che consente ad un
programma di partire non appena
termina iJ caricamento, è che invece
di eseguire la routine interna di
READY, va diretta mente a quella di
RUN (o ad una nostra routine che si
conclude con un salto al RUN).
Tutto questo, nel C/64, significava
alterare due locazioni, la S0302 e la
S03Q 3 (77 0- 77 1 ) , c h c co n te n e va no
l’i udiri zzo del famigerato Basic
Warm Start.
Nel C/128, invece, il Basic Start è
puntato dalle loc a zio ni. .*$0302 c
$0303 E Già, proprio le stesse. Questo
] i e rò non vuol d i re eh e si p os s a n o
■usare rii bYocco ì T Aun Mata per CftA
limitandosi a limare qualche dif-
ferenza di locazione. Nel C/128,
infatti. bisogna anche tenere conto di
altri fattori, come ad esempio l'inizio
del l'area Basic, normalmente posto
alla locazione SI COI (7168) che, se si
ini zia! izza la pagina grafica, viene
spostato a $4001 (16385).
Ciudi rizzo di fine programma,
inoltre, non coincide con quello di
inizio delle variabili (come nel caso
del C/64): per queste viene utilizzato
il banco !.
M a ve ri fi c he re m o p ì ù c h i a ra m e n t e
queste considerazioni facendo ri-
ferimento ai due programmi pub-
blicati, la cui descrizione sempli-
ficherà quanto sinora detto. Le due
routines per raggiungere lo stesso
obiettivo seguono due metodi dif-
ferenti, e la loro diversa applicazione
potrà risultare più o meno van-
taggiosa a seconda delle vostre
esigenze. Per chi non voglia ad-
dentrarsi nel Lapp rotondi mento dela
struttura dei due listati, basterà
digitarli avendo l'accortezza di in-
serire due lìnee tipo,.,
/ TRA P 1000
1000 FRINÌ ERRS(ER): HELP:
SLOW: END
,..che potranno poi essere cancellate
una volta raggiunta la certezza che
tutto funzioni correttamente. Dna
vo 1 1 a 1 a n ci a t i . e n t ra m b i i p rog ra m m i
fanno tutto da soli.
Anzitutto chiedono quale file si
vuole dotare di auto rum, il nome da
assegnare al file oggetto (quello
"lavorato") e .se si desidera, o meno,
l’inibizione del tasto Ru n/Stop. Se si
84 - Commodore Computer Club
PROTEZIONI
risponde positivamente a quesf ul-
tima domanda, il programma con
fautorun ripartirà automaticamente
se si cerca di fermarlo con la pres-
sione di STOP, di STOP + RESTO-
RE e. addi ri tura, con il tasto Reset.
A questo punto ve rrà generato sullo
stesso dischetto un fife con differenti
caratteristiche a seconda del MA-
KER utilizzato. Il primo creerà un
leader molto breve (I blocco) con il
nome da voi scelto, che una volta
caricato con BLOÀD oppure LOAD
"nome ftleTSJ a sua volta caricherà
il programma desiderato e lo man-
derà in esecuzione.
11 secondo produrrà un file unico
comprendente il programma ori-
ginale, sempre col nome che gli
avrete assegnato, da caricare a lì-
di esso nella forma rilocata
(BLOÀD). Questo file sarà però 25
blocchi più lungo dell' originai e, per
cui a voi la scelta sul rapporto
vantaggio / svantaggio dei due si-
stemi.
Un’altra considerazione utile ai
fini di tale scelta è che il sistema
“leader” funziona indipendente-
mente dalla conformazione in cui si
opera rispetto alla pagina grafica,
mentre il secondo metodo presenta
un inconveniente: volendo, potete
creare rautorun con la pagina gra-
fica impostata (magari per vostre
successive esigenze), ma il file ge-
nerato in questo caso sarà ben 61
blocchi più lungo, in quanto com-
prenderà anche la memoria da
SI COI a $4000.
Una precisazione quasi superflua: i
programmi che si possono trattare
devono essere Basic, oppure in LM
purché dotati di una linea tipo "10
SYS...”. Inoltre* anche se non in-
dispensabile, è conveniente spegnere
c accendere il computer prima di
usare i “makfir'\
II primo listato
Compito dì questo programma c la
creazione sul dischetto di un file che
all’atto del caricamento si disponga
nelle locazioni da $0263 a S0303
{decimale: 61 1/771), facendo sì che le
ultime due (che corrispondono al
vettore di Basic Start) puntino ai-
ri nizio di una routine posta a partire
da $0263,
Per ottenere ciò si apre un file
programma in scrittura (col nome
determinato dall’input di riga 30) e si
inseriscono, come primi, due dati: ì
valori (ovviamente nel formato bas-
so/alto) che determineranno la lo-
cazione a partire dalla quale esso
verrà caricato (righe !0(M 10), Subito
dopo viene inserita la routine in
linguaggio macchina che si occuperà
del caricamento del programma da
lanciare (righe 120- 160), con iti coda i
valori ASCII del nome di questo ed
eventuali spazi se la lunghezza del
nome è inferiore ai 16 caratteri (170-
180). A questo punto si immettono
nel file su disco i vaion presenti da
$02 A2 a $0301 senza alterarli (riga
190) e infine, in quelle che saranno le
locazioni $0302 e S0303, ì puntatori a
$0263 {riga 200),
Quando il file così composto verrà
caricato con BLGAD, in pratica
manderà immediatamente in ese-
cuzione la routine che inizia a S0263,
Questa , dopo aver disabilitato i
messaggi del S.Q. e aver pulito lo
schermo, provvedere a reìnserirc
nelle locazioni di Basic Start i valori
dì default o* se si è scelto diver-
samente (righe 50-80), vi allocherà
Tindirizzo della routine di RUN
($5AA6).
Quindi la routine si occupa del
caricamento del programma ri-
chiesto usando il LOAD del kemal
(SFFD5). il quale prevede che se si
setta un file tramite la routine posta a
SFFBD con un indirizzo secondario
uguale a zero (vedi disassemblato da
$275 a $27 A), il caricamento inizierà
dalla locazione puntata dai registri X
e Y, nei quali troverà inseriti ì valori
dei puntatori di inizio Basic ($2D-
$2 E), aggiornati automaticamente
dal S O, se si setta la pagina grafica.
Effettuato il LOAD, non resta che
saltare alla routine di RUN,., e il
gioco è fatto.
Da tenere presente che il file ge-
nerato, Oltre al vettore di Basic Start
include anche quello della routine di
errore, posto a $300 e $301 (768 e 769
in dee,), Se si vuole che, ìn caso di
errore nel programma, questo non sì
fermi, sarà sufficiente modificare la
riga 190 in,,,
FOR X=674 TO 767
4)1 £ uguale) c aggiungere la
linea...
195 PRINT#5, CHRSfLOW);;
FRINÌ# 5, CHRS(Hl);
...(facendo attenzione ai caratteri di
punto e virgola) dove LOW e HI sono
i puntatori alla routine cui saltare in
caso di errore. Ulteriori protezioni
potete realizzarle aggiungendo i vet-
tori posti subito dopo il Basic Start,
basterà aggiungere in coda alla lìnea
200 tutte le
PRINT*5>CHR$(xx);
che volete, tenendo presente che ì
vettori più “interessànti"' sono:
5 318 $319 .Interruzione non ma-
scheratile
$328 $329 :Stop
$332 $333 :Save
Il secondo listato
li flusso operativo di questo pro-
gramma può essere distinto in due
fasi: 1) Caricamento del file da
trattare. 2) Salvataggio dello stesso
includendo la memoria che va da
$0300 all'inizio del Basic> dopo
averne modificato i vettori di Basic
Start.
Allocata in memoria la routine ìn
LM a partire da $02E5 (righe 100-
150) ed eventualmente (ìn base alla
risposta alfinput di riga 50) la mi-
ni routine a $BOO, la prima fase
descritta viene eseguita da Basic. Per
ottenere lo scopo t prima sì caricano
due locazioni del buffer di tastiera
(nel C/128 situato da 842 a 851 dee,)
con il carattere 13, ASCII di RE-
TURN; quindi, dopo aver scritto
sullo schermo (con Io stesso colore
dello sfondo) in posizione adeguata:
DLOÀD Rome file ”
SYS 606
( = $2E5), si impartisce NEW che.
oltre a cancellare il programma,
provocherà lo svuotamento del buf-
fer di tastiera con conseguente ca-
ricamento dei programma deside-
rato e salto alla routine LM. Questa sì
Commodore Computer Club - 85
PROTEZIONI
occuperà della seconda fase: mo-
dificherà ì valori di Basic Start in
maniera da farli puntare a RUN o, se
si è risposto no al quesito delle righe
60-90. Sì dirotterà ad un’altra routine
posta da SORGO (buffer di cassetta)
che verrà salvata assieme al pro-
gramma da trattare. Per il SAVE vero
e proprio si usano le locazioni libere
di pagina zero SFA e $FB per se-
gnalare al kernal lindi rizzo da cui
iniziare (il valore FA deve essere
inserito nel fa ccumu lato re), e che
sarà £0300; mentre per la posizione
di fine caricamento verranno sfrut-
tate le locazioni SAE ed SAF, nelle
quali il SD, deposita l'indirizzo di
fine programma dopo un LO AD,
Una volta effettuato il salvataggio, il
computer va al RESET di sistema.
La routine posta a £BO0 si limita a
ripristinare i valori standard di Basic
Start, ma nulla vieta che vi inseriate
tutte le modifiche che volete prima di
saltare a S5ÀÀ6 per il run n ponendo
in coda al programma basic altre
linee DATA e modificando il valore
della FOR di riga 160.
Durante il caricamento dei files
generati da entrambi ì Run Maker lo
schermo di 40 colonne risulterà
vuoto cosi come pure quello in 80
colonne usando il sistema ‘leader",
mentre con i programmi in autorun
su unico file il video 80 colonne
resterà attivo.
Per concludere, non resta che
invitarvi ad una certa attenzione
usando il secondo Run Maker, in
quanto non è fornito di controllo
sugli errori del D,O S. Un eventuale
FILE EXISTS o FILE NOTFOUND
vi porterà a dover ricominciare da
capo.
SCHEDA TECNICA
Software applicativo per protezioni di
programmi.
Idoneo per computer C/128 e non
adattabile ad altri computer Com-
modore
Richiedo il disk drive
Anche i programmi pubblicati in
queste pagine sono contenuti nel
disco “Directory" di questo mese.
3 REM COMMODORE 126 + ORICE
* :
5 REM RUN MAKER TRAMITE LOfìDER
S REM BY DOMENICO FAUGNE
? :
10 SCNCLR : CDLOR0 , 1 : C0LDR4, 1 : CDLDRS , 1 : COLGRS . 16
£0 INPUT “NOME FIDE DA CAR ICARE" ; NFS: LF-LENC NF$ } : I FLF> 16GRLF< 1THEN10
30 SCNCLR: INPUT "NOME DA ASSEGNARE AL LOAOER” ; NL$; LL-LENC NLS ) : 3 f LL> 160RI„L< 1THEN3G
40 SCNCLR: PRINT” INIBIZ I ONE DELLO STOP CS/N)?”
S0 GETKEYXS
60 IFX$“"S”TH£NLI-16S: HI “30: REM PUNTATORI A ’ RUN ’
70 IFXS“"N’ , THENLI='13B: HI"77 : REM PUNTATORI DI DEFAULT
60 IFXSO ”5”ANDXSO ”N"THENS0
30 FAST: SCNCLR: PRINT "ELABORAZI ONE IN CORSO”
100 OPENS, 6,5, NL$+” .6,0”: I FDS< >0THENSCNCLR : PRINTDSS : CLOSES : SLOLJ ; END
110 PRINT#S,CHRS(a93; iPRINTJtS, CURASI ; ; REM INIZIO CARICAMENTO OA $0263 1611)
130 FORX-61 1T061S : RE AD A: PRTNTttS , CHRSC A) ; : NEXT
133 FRINTitS, CHRS1LI 3 ; : PR I NTttS , CKRSC 1633 ; : PRINTH5 , CHRSC HI ) ;
140 FORX-633 TO 637 : READA : PR I NTS5 . CHRS.C AI ; : NEXT
1S0 PRINTB5, CHRSCLF) ; REM LEN NOME FILE
160 F0RX-63ST0SS7: READA: PRINTttS, CHRSCA3 ; rNEXT
170 FORX=lTDLF: PR1NT#5, MIDSCNFS, X , 1) NEXT: REM INSTALLA NOME FILE
1B0 IFLF< 16THENF0RX=1T016-LF : PR INTttS , CHR3K32) ; : NEXT
138 F0RX-674T0769: PR INTttS , CHRSCPEEKCX) ) ; : NEXT
300 PRINTtfS , CHRS199) ; ; PR INTttS , CHRSC2 I : REM UETTORE BASIC START DIROTTATO A $0363
318 CLOSES : SCNCLR: SLOW : PRINT'T ATT O" : END
330 DATA 169,000,833, 144,395,033,066, 193
330 DATA 163,141,003,003,143,003,003,169
240 HATA 800,162,006,166,033,186,255,163
350 DATA 162, 146,160,003,033,169,266, 169
2S0 DATA 000,166,045,164,046,033,313,255
270 DATA 076,166,090
260 END
86 - Commodore Computer Club
DI SASSETI BLATD RUM flAKER TRAMITE LDADER
t listato 15
0263
LDA
#500
Disabilita ì messaggi
0265
JSR
SFF30
di sistema .
0260
JSR
SC142
Pulisce lo scherme.
026B
LDA
#IC6
Resetta i puntatori
0260
LDX
#$40
del BASIC START Co da
026F
SIA
$0302
programma li diretta
0273
srx
$0303
alle routine RUM 5 .
0275
LDA
#$00
Apre un canale sulla
0277
LDX
#$08
periferica 0 usando
0273
TAY
zero come indirizzo
027A
JSR
SFFBA
secondar io ,
027D
LDA
#$ LF
Setta lunghezza CLP)
027F
LDX
#$S2
e posizione del nome
0281
LDY
#$02
del File da caricare.
0203
JSR
SFFBD
m
■s
V
\
02BG
0280
020A
028C
LDA #$00
LDX $2D
LDY $2E
J5R 33FFD5
Esegua un LQA0 dalia
posizione inserita
nei puntatori di
inìzio basic.
02BF JMF S5AA6 Us a routine di RUM.
0292 - 02A1
Nome file da caricare.
5 REM C/l BB AUTORUN MAKER
6 RErl BY DOMENICO PRUONE
7 REM LISTATO N.2
B ;
10 COLBR0 , 1 : COLORI, 1 ;COLORS, 1 :COLORS, 16
20 SCNCLR: INPUT”FILE DR TRATTARE" ; NFS
30 IFLENCNFS 5> 160RLENCNFS >< 1THEN20
40 SCNCLR: INPUT "NOME FILE TRATTATO" ; RF$ : RF-LENCRFS} : IFRE<40RRF> 16THEN40
50 SCNCLR: PRINT”INIBIZIONE DELLO STOP CS/N1?”
60 GETKEYXS
70 IFXS-”S”TH£NLI-166: K I -90 : REM PUNTATORI R ’RUN'
00 IFXS- ,, N’ , THENLI“0: HI-11 : REM PUNTATORI A S0B00
30 IFXIO ”S"ANDX$<> ”N"THEN60
100 SCNCLR: FOFX-606 TO 620 : READA: FOKEX , A: NEX 1
110 P0KES21 , LI : P0KES22, 162: F0KE623, HI : REM INSTALLA PUNTATORI
120 FORX-624 TD 637 : READA : POKEX , A : NEXT
130 PDKEB3B, RF: REM LEN NOME FILE TRATTATO
140 F0RX-G39 TD 657 : READA: POKEX , A : NEXT
150 FORX-ITORF : F0KE6S7+X , ASCCMIDSCRFS , X , 113 : NEXT
160 IFX$-”N" THENFQRX-2816 TO 2026 : READA : POKEX , A : NEXT
170 PRINTCHRSC 144 } ; : P0KE842 ,13: P0KE843 , 13 : POKE208 , 2 : REM <CR> IN BUFFER TASTIERA
100 FRI NT: PRINT: PR1NT: PRINT"DLOAD“ ;
130 PR INTCHRSC 341+NFS+CHRSC341 : FDRX-1T04 : PRINT: NEXT : PRINT "5YS506” : FRI NTCHRST 13 3
200 NEW
£10 REM ROUTINE IN S25E —
220 DATA 163,000,162,003,133,250,134,251
230 DATA 032,144,255,032,066,133,163
240 DATA 141,002,003,142,003,003
250 DATA 162,008,160,255,032,106,255,163
£60 DATA 162,146,160,002,032,105,255
270 DATA 163,250,166,174,164,175,032,216
200 DATA £55,076,061,255
250 REM ROUTINE IN $B00 —
300 DATA 155, 130, 162,077, 141,002,00?
310 DATA 142. 003,003,076, 186, 030
3£0 END
Commodore Computer Club - 87
PROTEZIONI
n I S ASSEMBLATO AUTDRUN FIAKER
(listato 2)
02SE
LDA
#500
Prepara duo puntatori
0260
LDX
#503
in pagina zero con
0262
STA
SFA
indir h iniziale £5300)
02E4
STX
£FB
per la routine 5AUE ,
sesE
JSR
5FF90
□ inabilita messaggi ..
0269
JSR
SC1H£
Pulisce lo schermo*
02GC
LDA
ttSAS
Diretta i puntatori di
0EEE
LDX
#$5ft
START BASIC verso la
0270
STA
50302
routine RL!N C55AAG) □
0279
STX
50303
altrove Cds programma)
0276
LDX
#508
Apre un canale sulla
0279
LDV
#£FF
per i F erica S -
0270
JSR
SFFBA
057D
0E7F
0SBI
0203
LDA
LDX
LDY
JSR
#£05
#532
#£02
5FFBD
Setta lunghezza e
posizione del nome
del File oggetto*
0286
02BB
020 A
02BC
lda
LDX
LDY
JSR
#5FA
SAD
SAF
SFFD0
Salva la memoria da
50300 Fino alla
locazione puntata de
$AE e SAF Cfins prog . )
0£0F
JMP
SFF3D
Ua a routine RESET*
0£32
- ©2 Al
Nome File oggetto*
0B00
0B02
0B0H
0B07
LDA
LDX
STA
STA
#£C6
50302
50303
Rosetta si valori di
deFauìt i puntatori
di BASIC START?
0B0A
JflP
5SAAG
Salta a RUM .
§/ ^
88 - Commodore Computer Club
Eccoci qui, siamo le voci di Radio Deejay! Da sinistra verso destra puoi vedere Marco Galli, Ronny Hanson, Claudio Cecchetto alla
guida, Albertino in alto, Linus in basso, Gerry Scotti, Daniele Milani, David Lee Stone e Amadeus. Noi diciamo jay. Deejay anche tu!
W^jmrQpoHiiPtikt.0 rota Omsw
Fin dallo sbarco in Italia della Commodore Commodore Computer Club è il punto di rife-
rimento di tutti gli utenti di C/64, Vie 20, C/16, Plus 4 ed ora di PC 10/20
ed Amiga.
Articoli didattici, recensioni e programmi istruttivi ed a basso costo
hanno fatto di Commodore Computer Club la prima rivista
italiana d'informatica.
Ma, per i lettori. Commodore Computer Club non è solo rivista; è
consulenza telefonica gratuita, software originale pubblicato a late-
re dalla stessa casa editrice, un ponte verso Fi nfonnatica “maggio-
re” anche attraverso la collaborazione con le riviste sorelle "Perso-
nal Computer'" e "Computer".
E' per questa ragione che, anno dopo anno, aumenta il numero dei lettori che preferiscono ri-
cevere la rivista in abbonamento invece di acquistarla in edicola. Ad essi l’editore riserva una
sene di vantaggi esclusivi come:
• un libro in omaggio da scegliere tra i titoli disponibili della collana I libri di Systems*;
•l'uso di una linea telefonica speciale per richieste di consigli, e consulenza, il cui numero e le
modalità d’uso verranno comunicate in forma riservata alia ricezione delfabbona mento;
•un canone annuo particolarmente interessante di lire 40.000 per 1 1 fascicoli dì Commodore
Computer Club e di lire 35.000 per 1 1 fascicoli di Personal Computer;
•l’esclusivo canone cumulativo di lire 65.000 per 1 1 fascicoli di Commodore Computer Club ed
1 1 di Personal Computer;
•uno sconto del 10% su tutti gli acquisti per corrispondenza dei prodotti software su disco o
cassetta, fascìcoli arretrati o libri della Systems senza limiti di quantità.
I titoli disponibili sono Quelli reclamerai sull'apposita pagina pubblicitaria "La libreria di Systems".
| m I I PÌ O Q IO li VO I U fTl ^ d &! I 3 OO*. I 3 03 I l I ^ 11 di y’S tO I Il S , ■
Registrate oggi stesso il mio abbonamento a: □ Commodore Computer Club (Lire 40,000)
□ Commodore Computer CI ub+ Personal Computer (Lire 65,000)
f Desiderando ricevere le copie ordinate con la massima urgenza, accludo assegno bancario n ro.,
Banca » — — per lire
voi intestato.
□ Contentandomi dei normali tempi postali ho inviato oggi stesso l'importo di lire a mezzo C/C postale N. 37952207
intestato a Systems Editoriale - VJe Famagosta. 75 - 20142 Milano.
Home ...
vìa »
CAP
N,ro,
■ »+ ■*■■*■■■ «#pq ■■ RM
■
telefono
lOICIWlIW ■■.■■.....■.pii.
B ■-•« ftiiii pf if-Kf ■« ■ ■ ■ ■ • ■■ H mm m-m ■■ I ■■ -■* rii ■■-*■■■■ rnm m àifl Bit pii B •• Hit
Città ...
Ritagliare e spedire in busta chiusa regolarmente affrancala a Systems Editoriale - V. le Famagosta, 75 - 20142 Milano.
PRIVATO
Test di coppia
Un programma, presente su Directory
di questo mese, di notevole interesse
per ricerche sul rapporto di coppia
di Claudio Romeo
! nutile dire che è necessario riflette-
Lavorando nel campo sociale,
spesso mi capita di constatare quan-
to poco si conoscano tra loro persone
che, per legami di parentela, affettivi
o di lavoro, passano anche mollo
tempo insieme.
Nel lavoro che svolgo quotidiana-
mente individuo una delle conse-
guenze più drammatiche di una rete
di relazioni non chiare: ma anche
nella “normale 5 ’ vita di tutti i giorni
spesso si vivono tensioni clic non esi-
sterebbero se le persone die vivono
insieme si conoscessero più nel
profondo.
Il tesi presente su Directory è un
programma (troppo lungo per trova-
re spazio su queste pagine) che, pur
essendo un gioco, ha una cena credi-
bilità scientifica (non per vantarmi,
ma sappiate che ho meritato trema
all’esame di sociologia sostenuto
presso runi versila Cattolica di Mila-
no, con seminario sulla costruzione
dei questionari d'indagine).
La validità del lest non risiede tanto
nel valore assoluto del punteggio fi-
nale, quanto nel rigore con cui le do-
mande vengono formulate.
Che cosa fa
Vediamo che cosa è possìbile stabi-
lire con il test; il suo fine è quello di
determinare la misura in cui ì due
componenti di una coppia sì cono-
scano reciprocamente. La coppia
pud essere formata da marito e mo-
glie, padre e figlio, amico e amico e
di conoscersi,
il programma pone una serie di do-
mande (ne sono presenti 1 7 nella ver-
sione memorizzata su Directory), o-
gnuna corredata da un certo numero
di risposte ^graduate"; ciò significa
che queste sono all'inlerno dì una
'scala' ai cui estremi sono presenti
due diversi modi d’approccio alla do-
manda stessa. Ef quindi importante
sottolineare che non esiste una rispo-
sta '"giusta” sulla quale si fonda fela-
borazione dei test, ma importante è
determinare 11 differente modo con
cui vengono “affrontate” le domande
poste.
re con la massima attenzione prima
dì fornire una risposta* che deve esse-
re la più onesta possìbile.
Il gioco-test si deve svolgere tra due
partecipanti alla volta (“A” e "B"),
Mentre il primo, dopo il Run. rispon-
de alle domande, faltro deve spostar-
si in un'altra stanza, in modo da evi-
tare qualsiasi interferenza. Solo
quando verrà richiesto dal program-
ma, i due partecipanti si scambieran-
no il posto.
Al partecipante “A” il programma
chiede, per una stessa domanda, due
risposte: quella che, secondo "A”, è
Commodore Computer Club - 9 T
PRIVATO
quella “corretta 1 ’ e quelli! che suppo-
ne che “B” darà in seguito, quando
toccherà il suo turno.
Se la previsione riguardo aìJa rispo-
sta che darà “B“ risulterà corretta, al-
lora vuol dire che “A” conosce
bene “B + \
Chiaro, no?
11 test misura iniziai mente la quan-
tità di "non conoscenza" che Ll À" ha
di “3" basandosi sulla lontananza
della previsione dalleffcttiva rispo-
sta di l B' (le risposte sono graduate,
ricordate?). Questa è indicata nel
programma come variabile RO (Ri-
sultato Ottenuto). Tale valore assolu-
to viene quindi trasformato in per-
centuale, cd infine da percentuale di
“non conoscenza” viene trasformato
in percentuale di "conoscenza” (va-
riabile PER).
Questo è. Finalmente, il valore che
verrà visualizzato alla fine delle vo-
stre fatiche.
Disponendo della stampante sarà
possibile selezionare Y apposita op-
zione che, oltre a mostrare i risultati,
riporta tutte le domande corredate
delie risposte fomite da entrambi i
partecipanti in modo che vi possa es-
sere uno scambio di idee ed un con-
fronto: è proprio questo lo scopo cd il
pregio del programma.
Un breve commento
Come già ricordato , i l programma è
troppo lungo (63 blocchi = 16 K circa)
per esser pubblicato sulla rivista ed è
questo l 'unico motivo per cui è riportato
solo su Directory, il dischetto che mensil-
mente la Systems editoriale offre per
corrispondenza ,
Va tuttavìa ricordato che ; da un punto
di vista delia programmazione, sono
possibili ottimizzazioni notevoli, soprat-
tutto se si decide di ricorrere alle sempli-
ficazioni proposte nell'inserto contenuto
nel N 40 di CC.C.
Il pregio dei programma, comunque, è
quello di dimostrare, ancora una volta,
la notevole importanza che Un formati-
va può rivestire anche nel quotidiano.
L 'autore del programma svolge, infat-
ti, il ruolo di operatore sociale in una co-
munità per il recupero dei tossicodipen-
denti, attività certamente delicata e diffi-
cile per chiunque.
E ' con vero piacere ; quindi che dedi-
chiamo spazio alla recensione sul lavo-
ro svolto, ricordando che sarebbe oppor-
tuno, come sottolineato dallo stesso au-
tore , ; uno scambio dì esperienze e dì pro-
grammi idonei tra coloro che, da vicino ,
vivono esperienze analoghe ,
À.d,S.
VENDITA PER CORRISPONDENZA
ACCESSORI Wm
PER COMPUTER
HOME E PERSONAL COMPUTER
NOVITÀ
Duplicatore cassette Art, CD 102 L
Copia con un regislratore
normale Per c64 cl2S v;c20
Copiatore programmi Art. CD 103 L,
Cnp'a ccn due régiStrét&ri
Commodore; P^f q 64 vii; 20 gl 23
Intarlacela radio Art. CD 104 L
Collsg^la la ràd:nal (.-o.mp 1 . 1 L 0 r. Per
fi64 c 1 28 a viu2Q
Kit allineamento registratori Are. CD 106 L
c64 ci 28 vie 20
Alimentatore Ari CD 106 L,
per cG4 e \nc20
Batteria tampone Ari, CD 107 L
con batterie ripari cab il f Alimenta
lt c64 o vie 20 in fiS&tìITza d: fio nenia par 30
Penna ottica grafica Art- CD 1 56 L 3B.0DÙ
per c54- (sùft su naslra)
Cuffia per Commodore ArtCDISOL 19.000
per vic20 dS c.54 d 28
Copri tasti era in plexiglas^ Art CD 750 L, 13 . 000
per c$4 ci 5 vic2Q
Vaschétta floppy ir plexiglas Art CD 7 20 L, 30.000
(il 40 pi con chiave]
Vaschétta floppy In plcxigla ss Art CD 780 L. 37.000
(* 90 pi., con cfnavej
Kit pulizìa testine regi stratoré Art CD 81 5 L 13.50D
Kit pulizìa disk drive Art CD 8,20 L, 20.000
Kit pulita tastiera ArtGDSSGL. 16,500
fùraLùre dlik in plastica ÀrLCD 840 L. 10,000
Spoeti dpi piu* Kit Art CD900L. 68,000
Vdngiz^ l floppy di g^ca 20 volle
Per c64
E proni 2764 ArLCD950 L, 8,000
Eprnm 27128 Art CD 952 L, 12,000
Ada tta t ere J oysttt k per c 1 $ A ri CD 2 25 L. 10,500
Adatta Ipr e reg isti-atpre per 0 1 6 Art CD 228 L, 19,500
Nastra inchiostrato pér MT&O Art. CD 61 0L 14,000
Nastro inchiostrato per Art CD 51 4L, 13,000
Commodore MPS 301
Nastro inchiostrato per ArtCD6l5L, 15,000
Commodore MPS 302
Nastro inchiostrato por ArtGD£l&L, TB.OOO
Commodore MPS 803
Pacco caria lettura facilitata ArLCD 830 L, 13.500
24"*n” 500 togli
Supporti? stampa nté in ArLCD660L. 45,000
plexiglas^ "fumé" normale
SCONTI AI SIGNORI RIVENDITORI
PREZ2I IVA COMPRESA. NON Si
ACCETTANO ORDINI INFERIORI
A L. 30,000
Programmatore dì Eprom Ari. CD 925 L. 160,000
per c64
Cavo Centro ftìcs Amiga Ari. CD 112 L, 38,000
O-M-A, su cartridge per c64 Ari. CD 1 30 L. 60.000
Trasferisce : soft protetto e
TANTE altre uhi iti.
Fraej franto per g84 Ari CD 132 L 55.000
^protettore pi programmi su
nastro e di^GO
Sprotec/64 (isE-pip} Per Ari, CD 910 L, 8G.PÒ0
fiprùteggtìre i pmgr.iry.rns cd f! c34
D igltal i zzatore àif di i a p pr c64 Art. C D tì 1 5 L . 88.0 0 0
trasforma te voci ni segnali digitali.
Soft su disco,
Spééd contro Iter per c64 Art, CD 920 L. 35.000
Cartuccia per ottenere l'effetto
moviola.
Cartridgé di programmazione A-v CD 930 L, 50,000
E pio ni per iì CD 925,
Evita il caricamento dei sefl dal
disco.
Modem 300 baud per c64 Ari CD SQ5 L. 158.000
MOdem V2t V23 seriale ow Ari PC 375 L. 380.000
PCXT
Commutatore antenna Art CD 1 08 L. 9,500
tv/computer
Tasto reset per c64 vig20 Art, CD 109L. 5,500
Turbo Dos Ari. CD 115 L. 35,000
Veloci; £EI il dnv6 di g^ct 6 volte.
Per Commodore 84
Penna ottica grafica Ari CD 1 21 L, 38,000
p& u64 fsoft su di suo)
IN CONTRASSEGNO
PAGHERÒ
, : I
. .li ...
POSTINO
orsa?
PJU SPESE POSTALI
P ERO RD [ Nj_T E L_ 0£22/661 471 -6B1 647
Compilate, ritagliate e spedite in
busta chiusa, regolarmente affrancata a
S.n.C.-42017 NOVELLAR* (R.E.' ‘Via B. C«! im, A - 1 eH. 052 2/ 66 154 7
DIDATTICA
Sotto il segno
del trinomio
Un’applicazione
matematica di
indubbia utilità per gli
studenti delle scuole
superiori
di Armando Sforai
I I trinomio di secondo grado è* no-
toriamente, un'espressione algebrica
costituita da tre monomi ordinati,
nella sua forma generale (detta an-
che canonica) secondo le potenze de-
crescenti di una variabile.
Dì solito ìa forma tipica con la qua-
le si presenta un trinomio è la
seguente:
ax t2+bx-K
In taluni casi la torma può essere
incompleta, essendo la costante "c"
(e/o *V nulla), ma non può mai ri-
sultare a=0 altrimenti non si paria
più di trinomio di secondo grado.
Le lettere a, b* c che compaiono nel-
l'espressione, denotano numeri reali
o espressioni algebriche di valore de-
terminato e noto, mentre la lettera x
rappresenta la variabile. Questa può.
di volta in volta, assumere diversi va-
lori in corrispondenza dei quali il tri-
nomio ' reagisce' diventando positi-
vo, negativo o annullandosi. In que-
st'ultimo caso ì valori dell'incògnita
costituiscono le soluzioni o radici
dei Leq nazione che si ottiene egua-
gliando a zero il trinomio.
Dette radici sono tante quante ne
indica il grado del polinomio (nel
nostro caso due), anche se non è det-
to che siano sempre reali e distìnte.
Se quindi volessimo studiare l'an-
damento del segno del nostro trino-
mio, la prima cosa che potrebbe ve-
nirci in mente di fare sarebbe quella
di attribuire alla variabile x un nu-
mero abbastanza ampio di valori c
registrare ogni volta il risultato otte-
nuto con lo scopo di disegnare un
grafico del comportamento del segno.
Tutto questo lavoro, in effetti, può
essere evitato ricorrendo al calcolo
del discriminante del trinomio stesso
(delta: b t 2-4ae),
Infatti, conosciuto Delta, si posso-
no presentare tre casi:
Delta maggiore di zero.
Le radici sono reali e distinte. Sì
può dimostrare che il trinomio assu-
me segno uguale a quello del suo pri-
mo coefficiente "a", per valori esterni
alLintervallo delle radici, cioè per x
minore dì xl e per x maggiore di x2
(se, ovviamente, xl risulta minore
dì x2).
Viceversa il segno del trinomio ri-
sulta opposto a quello del coefficien-
te ‘V\ per valori compresi nell'inter-
vallo delle due radici. Ricordiamo
che per radice sì intende quel valore
dì x secondo cut il trinomio si
annulla.
Commodore Computer Cfub - 93
DIDATTICA
Delta eguale a zero.
Le radici sono reali ma coincidenti;
x\=x2. Il trinomio, in questo caso,
assume sempre il segno del suo pri-
mo coefficiente tranne che in corri-
spondenza di xL per cui esso si
annulla.
Delta minore di zero.
Le radici non esistono più nel cam-
po reale. Il trinomio assume sempre
il segno di l a” e non si annulla
mai.
Con le regolette appena esaminate
è abbastanza agevole studiare il se-
gno di un trinomio, discutere dise-
quazioni c sistemi di disequazioni,
pitF se con la limitazione del se-
condo grado.
Tuttavia il computer può renderci
la vita più facile, in quanto può essere
luì stesso che, opportunamente pro-
grammato, compie l’analisi e. maga-
ri, la visualizzazione semigrafica del
risultato. Questo è proprio lo scopo
per cui è stato scritto il programma
che presentiamo.
Il programma
Dalla linea 1 IO alla linea 180 si ac-
cettano: valori dei coefficienti dei tri-
nomi da studiare, si calcolano tutti i
Delta e le radici.
Dalla lìnea 200 alia linea 290 le ra-
dici vengono ordinate per poterle
Stampare correttamente sui grafico.
Infine dalla linea 310 alla lìnea 470
è contenuta la routine di stampa dei
grafico, Alla linea 310 si fanno fre-
quenti richiami ad un sottopro-
gram m ma che è compreso tra le lìnee
540 e 610.
Tale sub routine è necessaria per
trasformare una eventuale radice de-
cimale in un numero frazionario. In-
fatti, osservando gli esercizi a ri di ma-
tematica, noteremo che invece dì in-
dicare le soluzioni in forma decima-
le. essi ricorrono alle notazioni fra-
zionarie, radicali o esponenziali dei
numeri, oltre che a quelle intere, e ciò
per rendere più chiara e trattabile la
quantità numerica stessa.
Digitato attentamente il listato, e
dato il RUN, si indicherà il numero
dei trinomi da analizzare (piu di uno
nel caso, ad esempio, di sistemi di di-
sequazioni). Successivamente digite-
remo i coefficienti dei trinomi nel-
l ordine richiesto (a, b, c).
Se il trinomio non sì presentasse
nella sua forma compieta, se manca-
no, cioè, il coefficiente "b" o la co-
stante V7 è necessario inserire uno 0
al loro posto.
Atteso il tempo necessario per l’eia-
borazione dei dati (il BASIC è un lin-
guaggio di bassa cilindrata quanto a
velocità), sullo schermo apparirà il
grafico dell’andamento dei segni,
pronto per essere valutato.
Gli esempi
A questo punto è bene prendere iti
considerazione alcuni esempi. Sia
dato il trinomio ì cui coefficienti a, b,
c valgono, rispettivamente:
-4, 37, -9
Se digitiamo tali valori, alla richie-
sta del computer, otterremo il grafico
di figura, da cui risulta che il trino-
mio in questione assume segno nega-
tivo (lìnea tratteggiata) per valori di x
inferiori a 1/4, in cor rispondenza del
quale l’espressione si annulla (ecco
la ragione della presenza dello zero).
Esempio 1:
Cy = " L txta + 37x-33
1/4 9
1 I
-0 “S
Dunque la prima radice del trino-
mio vale 1/4. L’altra è 9 e tra questi
due valori il trinomio mantiene il se-
gno positivo (lìnea continua). Il se-
gno tornerà ad essere negativo per
valori di x superiori a 9. Come si ve-
de. il computer inette a disposizione
un comodo mezzo per conoscere il
segno, le radici e, indirettamente, il
Delta del trinomio, che in questo ca-
so è positivo perchè le radici appaio-
no reali e distinte.
Esempio 2
Nel trinomio qui analizzato, i valo-
ri di a, b, c sono:
2, 16, 32
il grafico è quello di figura:
Esempio 9:
Cy“ExTc3+lSx+3£3
-4
l
0
Stavolta il grafico che appare infor-
ma che il nostro trinomio mantiene
sempre un segno positivo per qua-
lunque valore assegnato ad x, tranne
che per x = 4, per il quale si ha
fan nuli amento.
Ci troviamo, dunque, di fronte ad
un’espressione in cui Delta è uguale
a zero e le radici sono reali e coinci-
denti (valgono, cioè, entrambe -4).
Esempio 3
Consideriamo adesso una nuova e-
sprcssione algebrica in cui valori di
a. b, c, sono:
5, 8, 4,
Inserendoli nel computer otterre-
mo il grafico di figura:
Esempio 3;
C y “GxTB+Gx+H )
0
1
Questo grafico, diverso dai prece-
denti, indica che il trinomio in ge-
stione è sempre positivo, per qualun-
que valore di xe non si annulla mai
(infatti manca lo 0 sulla linea del se-
gno), Quello zero posto in alto al
centro, sulla linea delle radici, ha un
valore puramente simbolico e serve,
cioè, solo a mostrare che non esisto-
no valori negativi o positivi da attri-
buire all’incognita tali che annullino
•s- -
il trinomio. E’ questo il caso del Delta
negativo.
94 - Commodore Computer Club
DIDATTICA
Esempio 4
Analizziamo, ora, la disequazione
frazionaria della figura che segue:
Esempio 4:
xT2“4x+4
>0
3xt2‘5x+2
è/3 1 è
\ 1 1
— 0
[ 1 E
0 ET
Nonostante l’apparenza, questa
frazione è semplicemente formata da
due trinomi di secondo grado i quali.,
per soddisfare la disequazione (e fare
in modo che tutta fespressione sia
positiva) devono assumere entrambi
segno uguale (entrambi positivi o en-
trambi negativi).
Vediamo, dunque, in quale ambito
la disequazione sarà soddisfatta.
(1) a. b, e : 1, - 4 , 4
(2) a, b, e : 3, -5, 2
Il grafico che apparirà sullo scher-
mo sarà quello appena esaminato
in figura.
Osservandolo bene si evince che la
disequazione sarà soddisfatta per x
minore di 2/3 c per x maggiore di 1
(entrambe le linee positive), con x di-
verso da 2 perchè in quel punto, an-
nullandosi il trinomio numeratore,
la frazione algebrica varrà zero.
Esempio 5
Consideriamo, in ultimo, un siste-
ma di disequazioni come quello
che segue:
Esempio 5:
l x?S- 4x >0
È 2xT2 +Sx -7 >0
| xt2 “Sx >0
I coefficienti da digitare, questa vol-
ta, saranno i seguenti:
(1) a, b. c : \ t -4, 0
(2) a, b, c : 2, 5, -7
(3) a, b, c : L -6. 0
Il sistema considerato, avendo po-
sto tutte le sue disequazioni positive,
sarà soddisfatto per valori di x mino-
ri di -7/2 e maggiori di 6, perchè solo
il quelle zone i tre trinomi assumono
contemporaneamente il segno po-
sitivo.
TI lettore, a questo punto, dovrebbe
essere in grado di utilizzare il pro-
gramma risolvendo i numerosi eser-
cizi riportati sui libri di testo di
matematica.
scheda tecnica
Software didattico per applicazioni
matematiche.
Idoneo pei computer C/64, C/16,
Plus/4, C/l 28, Vle-20.
Consigliato agli studenti delle scuole
superiori.
Anche il programma pubblicato iti
queste pagine è contenuto nel disco
"Directory 1 ’ di questo mese.
10 REM * SEGNO DEL TRINOMIO *
20 REM * PER QUALSIASI COMMOD
ORE
30 REM * BY ARMANDO SFORZI 19
87
40 REM * SOZZANO CLU)
50 ;
90 DIM NR , NT , A®
100 PRI NT ”€ OLEARI * URLISI SEON
0 DEL TRINOMIO DI 2 ’ GRADO!!
RU0FF3 *” :PRINT
110 INPUT "NUMERO TRINOMI NT: D
IM TCNT,4) , S$C4) , R( 10)
120 5$C0)=CHR$C36) : S$C2)-CHR$C4
5 ) : S$ C 4 ) “CHRSC 96 )
130 PRINTTOEFFICIENTI : ” : FOR J=
1 IO NT: PRINT"C ”J”) " ;
140 INPUT "A, B, C”; A, B, C: IF A-0
THEN PRINT”ERRORE’' : GOTO 140
150 TCJ, 1)=B*B-4*A*C: TC J, 23-A: I
F TC J, 1X0 THEN 180
160 TCJ, 33-C-B+SQRCTCJ, 1)3 3/C2*
A) : TC J, 43-C-B-5QRCTCJ, 1 3)3/
C2*A)
170 IF TC J,3)>T( J, 4) THEN A-TCJ
, 3) : TC J , 3 3=T CJ,4):TCJ,4)=A
180 NEXT ’
190 REM » ORDINA LE RADICI *
200 FOR J=1 TO NT : IF TCJ.1K0 T
HEN 230
210 NR=NR+1:RCNR)-TCJ,33: IF TCJ
,13=0 THEN 230
220 NR=NR+1 : RCNR)=TC J, 4)
230 NEXT
Commodore Computer Club - 95
DIDATTICA
240
250
560
570
EB0
590
300
310
350
330
FOR J = 1 IO NR~1 : A=RC J3 : FOR
JJ=J TD NR : I F A>RCJJ) THEN
B=A : A=RC JJ3 : RC JJ3 = B
NEXT :R(J3=A:NEXT; 1F NR=1 TH
EN 310
REFI * ELIMINA LE RADICI UG
UAL I *
A= 1 : FOR J=2 TD NR : I F RCJ3=R
CJ-1) THEN 590
A-A+l : RCA3=RC J3
NEXT : NR=A
REM * RAPPRESENTAZIONE GRA
FICA *
PRINT ”CCLEAR] C 3 DGWN3”:C=1N
TC35/CNR+133 : FDR K=1 TO NR :
A=R< K 3 : GOSLJB 540
PRINT TAOCC*K-l)A$; :NEXT:PR
INT
PRINT TABC 1 3 ; : FOR J=1 TO 30
; PRINTCHR$C 1E5) : ; NEXT : PRINT
>7 1 J44;a53**4 *»s.
j*. . * . , 1345™*1S4D34*3Ì5?
X.
/%** .£ 4 a 3 Ì& 4 ?ÌÌ 2 * 4 ? = ^-'j
A**»**.**
A»***
1
...*.* **éÉi;^Mit» 4 fff!t»
, .***1 \ !;ìj4UfÌ!4iE^4l »
. .**.** i ì* # *a 4 s 4 * *4 «sii s ; ; * t
. ,„* . * . f4 4”3344 3 34 4«! fi» 3. i » .
h + *,*,l445S5'ift4 4443J3443E.,*.y
*..** 3 msS 9 ;;;*o» 21 u. — ./
. .1 l £ 34 J iù 4 Ì3 4 4 * 4 3 ì E » * ■ » • * f/
UlMÌ15ì1i!4SUit4i X
2 4 * lia 54^^55^42 w + * *
■ 43$SÌ6355S43356*4J-i*+y^
'P' 553**4*34^4 J 4Ì3 l nf
\^*4! r i)^l,!4S545 ? ]i /
Vlll< ... I 3*i!iO/
\ I34t!i 4 ]/
\ J
\» 1 É . *34^1144 Z /
V - - r i4 *50*54 /
\ **
\. . 34t5fi5S3 /
LZ*ÌMÌÌ*i/
h .1435634 3/
hi i
/4Ì 3*3?4/
A 55 *55**^
'sorrwtìUE,
340 FOR J“1 TO NT*2 : FOR K=1 TO
NR: PRINT TABCC*K)CHR$C903 ; :
NEXT : PRINT: NEXT
350 FR INT” [HOME] CS DOWN]"
3B0 FOR K-l TO NT : PRINT TABC13;
370 IF TCK , 1 ]<0 THEN FOR J=1 TO
38 : PRI NTSSBC 1- 5GNCTCK ,E)I)
; : NEXT: GOTO 470
380 IF TCK, 1 3 > 0 THEN 450
390 A=1:B=1
400 GOSUB 550: IF RCA3<>TCK,33 T
HEN A=A+1 : GOTO 400
410 PRINTCHRSC 1573 ”0” ; : FOg J-PO
SC03 TD 38 : PRINTSSC 1“ SGNCT
C K , 5 3 3 ) ; : NEXT: GOTO 470
450 A= 1 : B= 1
430 GOSUB 550: IF RCA3<>TCK, 33 T
HEN A“A + 1 ; GOTO 430
440 PR INTCHR3>< 157 3 ”0” ; :A=A+1:B=
3
450 GOSUB 550: IF R(A3<>TCK,43 T
HEN A=A+1 : GOTO 450
460 FR INTCHRSC 1573 ”0” ; : FOR J-PO
SC03 TD 38: PRINTSffiCl- SGNCT
CK. 23 3 3 ; : NEXT
470 PRINT: PRINT: NEXTK : FRI NT” C HO
ME11 . C RUS1ANCORACRUOFF] 5.
C RUS1FINECRUOFF] ”
4B0 GET AS : I F AS=”” THEN 4B0
490 IF A$=” 1 ” THEN CLR : GDTO 90
500 IF A3>“’ ! 2" THEN PR INT”CCLEAR
] ” : END
610 GOTO 480
550 FOR J=1 TO C:PRINTS$CB- SGN
CTCK.E333; : NEXT : RETURN
530. REM * TRASFORMA NUMERO DEC
IMALE IN FRAZIONARIO *
540 A$=” ” : B-0 : IF A<0 THEN B=1
550 FOR J=1 TO 15: FOR JJ=E TO 1
5 : I F ABSC J/JJ-ABSCA3 )< .01 T
HEN 580
560. NEXTJJ, J: IF A$= ” ” THEN A$=M
IDSCSTRSCA3 ,1,53
570 RETURN
5B0 A$=STR$CJ3+”/"+RIGHT$CSTR$C
JJ 3 , 1-CJJ>933
590 IF J/JJ=INTC J/JJ3 THEN A$=S
TRSC J/JJ3
B00 IF B THEN A$=”- "+MID$C A$ , 53
610 J= 1 5 : J J=J : GOTO 5G0
470
96 ■ Commodore Computer Club
La voce HI
Raffaello
Oroscopo
Computer^ Music
Gestione familiare
Banca dati
Dichiarazione dei redditi (740/S)
Matematica finanziaria
Analisi di bilancio
Arredare (richiede linguaggio Simon ' 5 Basic)
L. 12000
L. 10000
LI 2000
L. 12000
L. 12000
LI 2000
L, 16000
L. 20000
L. 20000
L. 10000
Software su disco
Ms-Dcs & Gw- Basic 1,25000
Ms-Dos & Gw- Basse [con prova d acquisto
cassetta) LI 5000
La voce Ut L, 1200C
Raffaello Li 0000
Oroscopo L. 12000
Computer- Music LI 2000
Gestione familiare L.,12000
Banca dati L, 12000
Dichiarazione del redditi (740/S) L. 24000
Matematica finanziaria 1,20000
Analisi di bilancio L,2QOG0
Arredare (richiede linguaggio Simon’s Basic) L. 20000
Graphic Expander C/12B in modo BO colonne L. 27000
Linguaggio macchina + Routine grafiche L, 12000
Offerta speciale fascicoli “Commodore "
13 . 14, 15 e
" ^Personal Computer" N.1 h 2 < 3 L, 25000
Offerta speciale fascicoli
“Personal Computer” N,2 h 3, 5 L- 12000
Offerta speciale fascicoli “Commodore"
13, 14. 15 e
“Personal Computer" 1 M ,1, 2, 3. 5 L. 2 7000
Offerta “ Commodore speciale L,M " + dischetto L. 1 6000
64 programmi per il Commodore 64
I miei amici C/16 e Plus/4
SS rate gie vincenti per Commodore 64
62 programmi par Vie 20, C/16 e Plus/ 4
Utilities e giochi didattici
Tutti i segreti dello Spectrum
Simulazioni e test per la didattica
Impara giocando il Basic dello Spectrum
Micro Pascal per Commodore 64/128
Dal registratore al drive del C/64
Ada
II linguaggio Pascal
Directory
Ciascun dischetto
Arretrati
L. 4800
L 7000
L. 5800
L 6500
L 6500
«L. 7000
L. 7000
L 7000
L. 7000
L 7000
L SOOO
L 5000
Ciascun numero arretrato di Commodoro
Computer Club L 5000
Ciascun numero arretrato di Personal Computer L. 5000
Ciascun numero arretrato di VR Videoregistrare L. 5000
Le spese di imbatto e spedizione sono a carico delta Systems
se ciascun ordine é pari ad aimeno L50000 (di listino).
Gii abbonati hanno diritto alio sconto dei 10% e atta spedizione
gratuita se ta somma totale raggiunge la cifra di 1.50000
(di iistino).
Oltre aita spedizione gratuita, viene praticato uno sconto del
10% (per gli abbonati è del 20%) se la cifra raggiunta per ciascun
ordine raggiunge le L. WOOOO (di listino).
Libri
L. 12000
Sconti e agevolazioni
Per un ottimale utilizzo dei software "Matematica finanziaria" è opportu-
na fa lettura degli artìcoli relativi pubblicati sui N. 13, 14, 15 delia rivista
“Commodore" e sur N, l 2 e 3 delia Rivista Personal Computer.
Per un ottimale utilizzo dei software " Analisi di Bilancio" è opportuna la
lettura degii artìcoli retativi pubblicali sui N.2. 3, 5 della Rivista
Personal Computer.
Per un ottimale utilizzo del software “linguaggio Macchina e Routine
grafiche per C/64 * I 11 e opportuna la lettura dei fascìcolo " Commodore
Speciale" appositamente dedicato.
Coloro che desiderano procurarsi i prodotti delia Systems Editoriale
devono inviare , oltre alia cifra risultante dalia somma dei singoli prodotti,
la cifra di L.3000 per spese di imballo e spedizione, oppure L.600Q se si
preferisce la spedizione per mezzo raccomandata .
L. 40000
L40GGQ
SS computer^ p era0 nal Computer L6500 0
Commodore Computer uu L .45000
a <«■”"*
o(( gobona menti non pri M ***** ^ ^
N - 6 ' ; Teorie % Ì3«W di cui SOpfa -
nsre 9 1 .... inviare materiate contrassegno.
Unn è assolute mente possale tnviare m
Hon 6 35 , c/c p 0S | a |e indirizzando a:
armale moduto dt C/c Le3lir
Compilai uo normale
C/C postale N. 37952207
Systems Editoriale
Via /e Famagosta, fé
9014 2 Milano _
' t suì r& tro del modulo (nello
J^Sg£SBSS*=
nativo completo d sct>e da. debitamen-
SSSS«S« 5 P 5ar -- -
effettuato*
Chi volesse \
ma richiesta r
Per ordinare i fascicoli mancanti alia tua collezione di Commodore Computer Club utilizza l'apposita scheda in fondo alla rivista.
Tv.
K J sg-j£ Jpj&J ì
fjkgHfa
7
,',o 9 ^
Ah
sr.ra «y&Sr^S*
r , £s£&
Principi di multi
programmazione
Time sharing , mutti-taskìng, interna pt:
tanti nomi per indicare un concetto che,
a pensarci bene , conosciamo
benissimo.
dì Alessandro de Si mone
Commodore Computer Club - i
Ab ovo
Molto spesso, iniziando a studiare un nuovo argomento, si è
convinti di affrontare temi nuovi, difficili e, in ogni caso,
impegnativi.
Si dimentica, invece, che qualsiasi trattazione deve necessa-
riamente avere una base logica, semplice e sicuramente com-
prensibile, proprio perchè è compiuta dall'uomo.
Provate a considerare una qualsiasi invenzione, come ad e-
sempìo l’automobile: i sedili hanno forma anatomica (ì mar-
ziani, forse, li fabbricherebbero diversamente), il tetto è pre-
sente per ripararci dalle intemperie, il parabrezza dal vento, le
serrature dagli... indesiderati.
Anche il calcolatore, naturalmente, non sfugge alla regola e-
1 emonia re che gli impone di avere l'orma e funzioni fatte “a mi-
sura d’uomo”: la tastiera ha senso proprio perchè sappiamo
muovere le dita con una certa rapidità e disinvoltura (un caval-
lo avrebbe certamente inventato qualcosa di diverso), lo scher-
mo richiama la struttura di un qualsiasi testo scritto, i colori
del video si rendono necessari per evitare all’uomo, sempre luì,
di ritrovarsi in un ‘"ambiente” privo di variazioni cromatiche
con le quali è in costante contatto.
E cosi, di seguito, possiamo pensare al telefono, all'ascenso-
re. all’aereo, agli alberghi e ad un qualsiasi altro oggetto (o ser-
vizio) inventato dall’uomo.
Ma se finora abbiamo considerato gli oggetti (hardware) non
possiamo trascurare le idee (software) che. anch’esse, non
sfuggono alla complessa struttura mentale dell'uomo che le ha
generate.
L’uomo
Vi diamo cinque secondi di tempo per dire che cosa state fa-
cendo in questo momento; è probabile che vi limitiate a ri-
spondere "sto leggendo” ritenendo, in perfetta buona fede, di
aver esaurito l’argomento, con tale semplice risposta.
Vediamo in dettaglio, al contrario, che cosa state facendo
realmente:
• Le vostre mani stanno reggendo il giornale con una angola-
zione tale da consentire alla luce disponibile di illuminare le
pagine con la giusta intensità.
Il - Commodore Computer Club
Commodore Computer Club - IH
• Gli occhi sumno rapidamente scorrendo i caratteri di cia-
scun rigo seguendo una procedura rigorosa (da sinistra a de-
stra e dall'alto in basso).
• Il vostro corpo è posizionato in perfetto equilibrio (anche se
siete ignobilmente stravaccati in poltrona) e tutti i muscoli del
vostro corpo sono impegnati, chi più chi meno, a tenerlo in tale
equilibrio.
• 11 vostro cuore sta pulsando alla giusta velocità per distribui-
re il sangue lungo arterie, vene, venuzze e canalicoli vari.
• I vostri polmoni stanno respirando per immettere ossigeno
nel corpo ed estrarne anidride carbonica.
• ...e potremmo smetterla qui, prima di esaminare le imbaraz-
zanti operazioni in corso verso il sud dei vostro corpo.
Il corpo umano, insomma, è una macchina incredibilmente
potente e. fortuna per noi, costantemente attiva neOespleta-
mento di migliaia di operazioni da svolgere in contempo ranca
e. in moltissimi casi, in perfetto sincronismo.
E se, con un po' di fantasia, riesaminiamo l’automobile di
prima con analogo spirito di osservazione, non possiamo fare
a meno di rilevare che, in uno stesso istante, lo spinterogeno
compie una determinata funzione, alcune valvole sono aperte,
ed altre provvidenzialmente chiuse, un ammortizzatore evita
di ripercuotere sui passeggeri gli effetti di un fosso, la cinghia
della ventola fa in modo di raffreddare il liquido che. a sua vol-
ta, è spinto nel circuito da un'altra valvola mossa dall’albero
motore che fa girare l'alberino dello spinterogeno... e così
via.
Il concetto di più funzioni svolte contemporaneamente,
quindi, non è affatto nuovo per noi: solo che. magari, non ci è
mai capitato, finora, di rifletterci sufficientemente.
Dal cervello al micro
1! cervello umano, come è noto, è ancora piuttosto misterioso
e le funzioni che svolge, addirittura, sono quasi tabù. Nessuno
è in grado di spiegare certi fenomeni, atteggiamenti e compor-
tamenti umani.
L'uomo è una macchina rigorosamente complessa, difficile
da esplorare ed influenzabile, per giunta, da fattori clic, a loro
volta, possono variare il "percorso" abituale dd flusso del
pensiero.
IV - Commodore Computer Club
Non staremo qui a ricordare il mistero della parapsicologia,
dcH'autosuggcstìone o dei fenomeni psicosomatici. Nè. tanto-
meno, tenteremo di spiegarci le presunte potenzialità degli
astro-chiro-carto-manti che offrono le loro salatissime presta-
zioni solo per per appuntamento e al di fuori, ovviamente, di
verifiche fiscali.
Vogliamo solo dire, invece, che una macchina complessa co-
me il cervello umano può, alia luce delle moderne conoscenze,
essere osservata "da lontano”, con attenzione e umiltà, tentan-
do di intuirne i modi di funzionamento.
Per spiegare uno stesso fenomeno umano o sociale, in som-
ma. qualsiasi teoria può essere valida; altrettanto valida può
essere, tuttavia, una teoria esattamente contraria. Ne è una ri-
prova il proliferare, nel corso dei millenni, di numerose scuole
filosofiche, credenze religiose, ideologie politiche ed ipotesi
scientifiche che hanno tutte in comune, oltre al tentativo di e-
scludersi reciprocamente, la ricerca della cosiddetta verità, fi-
nalizzata, o meno, a scopi che si ritengono di importanza
escatologica.
*rt--
Pur non potendo intrattenerci a lungo sulla Verità, che qui in
Systems possediamo tutti, ci limiteremo a considerare gli a-
spettì che più interessano per meglio comprendere le applica-
zioni ai computer in generale, e Commodore in particolare.
L’impero dei sensi
Si dice che abbiamo a disposizione cinque sensi (vista, udito,
tatto, olfatto e gusto) ma sono in molti ad affermare che ne di-
sponiamo in maggior numero.
Se consideriamo l’udito, ad esempio, ci accorgiamo che que-
sto c sempre attivo, in qualsiasi istante, anche durante il son-
no; è questo, e non altri, il motivo per cui le sveglie, per funzio-
nare, sono dotate di dispositivi sonori (bip-bip, radio, musicas-
sette. eccetera). Se. nel tentativo di svegliare una persona, pro-
vate ad accendere e spegnere la luce della stanza, è probabile
che non ottcniate il risultato voluto; analogamente, se provate
a diffondere un profumo, è piu probabile che il suo effetto pro-
duca variazioni nel sogno in corso. Solo un pizzicotto ben as-
sestato può avere l'effetto di una sveglia, ma le reazioni che si
osservano nella maggior parte dei soggetti trattati in tal modo
hanno finora consigliato i fabbricanti disveglie ad utilizzare il
tradizionale senso dell’udito per interrompere il sonno.
Commodore Computer Club - V
Un calcolatore dispone anch'esso dei sensi; magari non sono
cinque nè raggiungono i livelli di sofisticazione propri dell'uo-
mo, ma, nel loro piccolo, possono esser considepati sufficiente-
mente “sensìbili”.
La tastiera è, perii computer, ciò che per noi c l’orecchio; i va-
ri comandi da impartire, e le istruzioni che desideriamo siano
eseguite, possono essere inviate tramite tastiera che, come è
noto, dispone di un tasto vitale perla conferma; il tasto Return,
che non a caso è, in genere, il tasto più grosso presente.
Un computer, però, dispone anche di altre orecchie: pensate
al modem, dal quale può ricevere informazioni, oppure al dri-
ve, dal quale attinge dati; e considerate il nuovo strumento ri-
voluzionario, il mouse, che le orecchie sembra averle per dav-
vero, Altre orecchie sono la tavoletta grafica, la penna ottica, il
joystick e tutti quegli strumenti che, insomma, possono “co-
municare” al calcolatore un ordine, un'istruzione, una
scelta.
Ma la tecnologia moderna offrirà, tra brevissimo tempo, un
vero “orecchio”, e intendiamo, con ciò. riferirci al comune mi-
crofono. Tutti sanno che, anche oggi, è possibile digitalizzare
un suono e, in .seguito, riascoltarlo per mezzo del computer;
ma in un prossimo futuro saranno presenti sul mercato com-
puter in grado di riconoscere la voce deU’utilizzatore e, ovvia-
mente, di “capire” gli ordini da espletare. E tutto ciò non avver-
rà fra chissà quanto tempo. Esistono di già calcolatori in grado
di fare quanto descritto, ma si è ancora in fase sperimentale e
le applicazioni, almeno per il momento, sono limitate. Uno dei
problemi dei computer della quinta generazione, disponibili
certamente entro la fine di questo secolo (che non è poi tanto
lontana) è proprio la possibilità di comunicare a viva voce con
una macchina.
Il video, con un po' di fantasia, può esser considerata la “vo-
ce” del compu ter. La visualizzazione di dati, di informazioni e
di risultati di elaborazioni assolve certamente al compito di
“dialogare” con lutilizzatore che, appunto, riceve una risposta
ai suoi quesiti tramite video.
In eftetti la "voce” dei primi calcolatori era rappresentata
dalla stampante che. nei decenni passati, era lo strumento più
economico per fornire i risultati delle elaborazioni. In seguito,
però, grazie ai progressi della tecnologia, fu possibile adattare
un’altra invenzione dell’uomo, la TV, alla visualizzazione dei
dati; è facile immaginare il
risparmio di carta che .seguì alla
VI - Commodore Computer Club
diffusione di questa nuova "voce” dei calcolatori; al giorno
d'oggi, infatti, viene riportato su carta solo ciò che è assoluta-
mente indispensabile. In un futuro, che speriamo prossimo, la
carta risulterà superflua come supporto, sostituita da dischi
magnetici in grado di visualizzare su schermi le informazioni
desiderate; parecchi alberi, quindi, potranno non esser desti-
nati alle cartiere grazie alla minor richiesta del mercato. Se la
burocrazia italiana potesse fare a meno di carte e cartacce, po-
tremmo disporre di un maggior numero di foreste e, magari, di
una maggiore efficienza in alcuni servizi. Quando, fra pochi(?)
anni la posta cartacea sarà sostituita (come accade nei paesi
veramente industrializzati) da quella elettronica, ne ri-
parleremo.
La "voce” di un computer è rappresentata, oltre che da un vi-
deo o da una stampante, anche dal plotter, in grado di disegna-
re con vere e proprie penne, dal modem e dal drive (che assu-
mono, quindi, la duplice funzione di orecchia e bocca).
Recentemente una vera voce, digitalizzata opportunamente,
è stata introdotta come strumento per risolvere il problema del
colloquio. Chi possiede il C/64 sa benissimo che risulta straor-
dinariamente semplice dotare il piccolo computer di un sinte-
tizzatore vocale. Chi possiede l’Amiga, poi, può ricorrere fre-
quentemente alla divertente, quanto fedelissima, riproduzio-
ne di frasi sintetizzate.
Per ciò che riguarda il gusto, a onor del vero, siamo ancora
lontani dalle applicazioni pratiche, a meno che non vogliamo
considerare i vari sensori oggi disponibili (analizzatori di so-
stenze gassose, chimiche, radioattive eccetera) come percettori
di odori.
Per La simulazione del tatto, invece, non c’è che l'imbarazzo
della scelta fra sensori elettromeccanici, sensori di pressione,
di allungamenti ed altre diavolerie in grado di riconoscere la
variazione, anche minima, di forma o configurazione di un
oggetto.
Ma come fa, un computer, a controllare i suoi sensi?
1 controlli
La "macchina” umana, per funzionare, ha bisogno di un di-
rettore d’orchestra, il cervello, altamente affidabile e veloce.
Consideriamo, ad esempio, che cosa accade quando compia-
Commodore Computer Club - Vif
mo un’operazione apparentemente banale, come il passeggia-
re lungo una strada.
In tale azione “dinamica" i controlli da effettuare sono incre-
dibilmente numerosi e molti di essi, tra l’altro, devono essere e-
seguiti in tempo reale. Per mantenere il corpo eretto, ad un cer-
to gruppo di muscoli è affidato il compito di entrare in trazio-
ne ed in compressione, molto rapidamente, affinchè il bari-
centro del corpo risulti posizionato, istante per istante, all’in-
terno di una particolare zona che garantisca l’equilibrio. Non
solo, poi, tale controllo deve essere effettuato con precisione,
ma, soprattutto, eventuali correzioni di “assetto" devono esse-
re compiute immediatamente (in tempo, quindi, reale), per e-
vilare di cadere rovinosamente sul marciapiedi stesso.
In genere tale controllo, e conseguente modifica di assetto,
avviene con sufficiente rapidità; altre volte, invece, i muscoli
non rispondono prontamente agli stimoli, oppure gli stimoli
che impongono il cambio di posizione non giungono in tem-
po; è questo il motivo per cui qualche volta cadiamo per un
passo falso, oppure inciampiamo in qualche ostacolo che non
avevamo notato; ed c anche ciò che accade, purtroppo, agli au-
tomobilisti che sì ostinano a guidare in stato di ebbrezza, che
impedisce la prontezza di riflessi o, se preferite, la possibilità
di agire in tempo reale.
Naturalmente, nei corso della nostra passeggiata, non basta
verificare costantemente la posizione del baricentro (che, co-
me l’azione del respirare, è assolta in modo inconsapevole); bi-
sogna effettuare altri controlli; considerare eventuali ostacoli
ed evitarli (altra gente che cammina sullo stesso marciapiede,
macchine parcheggiate selvaggiamente, ricordini di cani, ec-
cetera); optare per eventuali variazioni di percorso (vetrine in-
teressanti, incontri di conoscenti con cui fermarsi a chiacchie-
rare. soste per riposarsi nel caso in cui trasportiamo pacchi pe-
santi, e così via).
A tutte queste funzioni, che vanno svolte in contemporanea,
in sincronismo ed in tempo reale, provvede il cervello secondo
una tecnica «he. in parte, è ancora sconosciuta.
Analogamente un calcolatore deve esser strutturato in modo
da espletare più compiti contemporaneamente, alcuni dei
quali in sincronia con altri.
Pensate, infatti, al vostro calcolatore nel momento in cui lo
accendete: sembra che non accada nulla e che non sia com-
piuta alcuna elaborazione; ii,,quyrsore lampeggia, è vero, ma
Commodore Computer Ct uh - /X
difficilmente qualcuno può essere indotto a definire ‘"elabora-
zione'' quel semplice cambiamento di colore di un quadratino
del video!
Ma esaminiamo con maggiore attenzione che cosa, realmen-
te, sta accadendo in un qualsiasi istante durante il quale il
computer sembra che si limiti a far lampeggiare il cursore:
Una particolare routine in linguaggio macchina sta esami-
nando se non sia stato premuto un tasto; sapete benissimo, in-
fatti, che se premete un tasto questo viene immediatamente vi-
sualizzato sullo schermo c ciò dimostra, appunto, che cera
"qualcuno" che si aspettava la pressione di un tasto da un mo-
mento all’altro.
Ma mentre qualcuno (o qualcosa) controlla contìnuamente
la tastiera, qualcun altro (o qualche altra cosa) deve control la-
re il pennello elettronico del video e imporre di illuminare un
pixel, o meno, a seconda di come è richiesto in quei particolare
momento; solo in questo modo, infatti, è possibile che un e-
ventuale messaggio rimanga costantemente visualizzato sullo
schermo. C'è. ovviamente, anche una routine che assegna un
ben determinato colore ai pixel presenti sul video; e deve esser
presente anche una routine che esamina l’eventuale variazio-
ne dì stato relativo al connettore dei joystick. Stavamo per di-
menticare la routine che aggiorna di contìnuo l'orologio inter-
no e, nel caso del C/64, anche quella dell’orologio e della sve-
glia gestibili in modo particolare; per non parlare del controllo
dello stato degli sprite (se ve ne sono) e, se è il caso, del
chip sonoro.
E tutto ciò (insieme a molte altre cose ancora) avviene duran-
te il semplice lampeggìo del cursore; l’avreste mai im-
maginato?
Ma se il microprocessore è uno solo, come è possibile che tut-
te queste funzioni vengano eseguite contemporaneamente?
Sappiamo benissimo, infatti, che se premiamo un tasto questo
viene visualizzato immediatamente, magari durante la visua-
lizzazione costante di altri caratteri (e sprite) eventualmente
già presentì sullo schermo, mentre un nostro amico si diverte a
maneggiare il joystick e. perchè no, mentre un suono continuo
viene emesso grazie al precedente settaggio delle opportune
poke del chip sonoro.
Come fa il microprocessore, dunque, a fare contemporanea-
mente tutte queste cose? E come potrà, a maggior ragione, con-
trollare tutte le azioni ora viste quando gli verrà richiesto di far
X - Commodore Computer Club
girare un programma complesso, come un videogame in lin-
guaggio macchina che richiede la gestione di grafica a colori
in alta risoluzione, con controllo di due joy, con musica di sot-
tofondo e seguendo una strategia di gioco rapida, costante-
mente variabile ed incredibilmente complessa?
La partizione del tempo
Sicuramente avete sentito parlare di produttività e il modo di
esprimere le unità di misura adoperate possono, in certi casi,
lasciare perplessi.
Considerando, ad esempio, la produttività dell’operaio giap-
ponese addetto alla fabbricazione di automobili, si dice che
questi, in media, produca 12 autovetture.
Ciò non significa che al singolo operaio è affidato il compito
di realizzare, per intero, una vettura completa. Sappiamo be-
nissimo che in Giappone, come in Italia e in qualsiasi fabbrica
di auto, vi sono operai specializzati nel montare le parti elettri-
che, la carrozzeria, il motore, gli allestimenti interni e così via.
Vi sono, cioè, operai, che, dalla mattina alla sera, non fanno al-
tro che montare carburatori e, forse, non hanno la minima i-
dea di come si installi un ammortizzatore; analogamente può
capitare che l’operaio addetto alla sistemazione dei sedili non
sappia nemmeno il numero dei cilindri del motore presente
sulla stessa auto.
Se, però, consideriamo che per fabbricare 12000 auto è neces-
sario il lavoro organizzato di 1000 operai, possiamo far finta di
ritenere che ogni operaio abbia realizzato 12 auto, pur se ciò
non corrisponde, come abbiamo visto, alla realtà. Tuttavia il
valore che ne risulta può essere utilissimo per effettuare con-
fronti con la produttività di altri Paesi.
Seguiremo, ora, un ragionamento che può sembrare l'esatto
contrario di quanto affermato poco fa! Per realizzare tutte le
funzioni richieste da un computer, non è necessario avere un
micro per ciascuna funzione, ma è sufficiente installarvi un u-
nico “eervellq” che ciclicamente, in brevissimi istanti successi-
vi, compia numerose routine altrettanto brevi.
In pratica, nell’arco di un periodo brevissimo (anche dell’or-
dine di centesimi di secondo) il micro sovrintende al video; fi-
stante successivo lo stesso micro aggiorna l’orologio: quello
dopo forse lo dedica allo spostamento dello sprite; quindi
provvede, nel l’istante successivo, a considerare eventuali mu-
Commcdore Computer Club - XI
XII - Commodore Computer Club
tamenti avvenuti nel corso della scansione della tastiera; poi,
magari, del joystick: e cosi via, di controllo iti controllo, di veri-
fica in verifica, fino ad espletare l’ultimo comando. Subito do-
po ricomincia daccapo, aH infinito.
Si tratta, quindi, di eseguire migliaia di compiti, ma non tutti
insieme, bensì frazionati nell'arco di tempo a disposizione, in
modo tale che i mille compiti sembrano compiuti contempo-
raneamente. Allo stesso modo, nella fabbrica di automobili
prima considerata, sembra che ogni operaio produca un'auto
e tale impressione, come abbiamo già detto, è utile per gli scopi
prefissati.
Quando noi giochiamo con un videogame, insomma, non ci
interessa sapere se un particolare effetto grafico o sonoro c
compiuto in più fasi successive, pur se molto ravvicinate fra lo-
ro: in quel momento interessa giocare e divertirsi e non elucu-
brare sulla tacnica adottata per la frammentazione dei
compiti.
La tecnica della partizione di tempo (time sharing) fu realiz-
zata sfruttando la capacità di un microprocessore ad operare
*id altissima velocità. Molti utenti, quindi, potevano lavorare
contemporaneamente mediante altrettanti terminali collegati
ad un unico calcolatore. Questo elaborava ciclicamente i vari
programmi in modo tale che il singolo utente aveva l’impres-
sione che il computer lavorasse solo per lui.
Naturalmente vi sono dei limiti che non possono esser supe-
rati, pena la riduzione drastica del tempo a disposizione di o-
gni utilizzatore.
Ricorreremo, ora. ad alcuni esempi pratici che rendano più
chiaro il concetto di miultiprogrammazione pur disponendo di
un piccolo computer e, per giunta, lavorando in Basic.
Sorvoleremo, ovviamente, sulle differenze esistenti tra i nu-
merosi termini (time sharing, multiprogrammazione, multi
tasking) che. nella comune accezione, indicano procedure
piuttosto diverse tra loro.
1 programmi di esempio
11 primo programma è incredibilmente semplice e banale e
servirà solo per puntualizzare alcuni concetti già esposti in
precedenza:
Commodore Computer Club - XIII
100 REM PRIMO PROGRAMMA
110 :
120 PRINT CHR$(14?):REM CANCELLA SCHERMO
130 PRINT CHR$( 19) "SONO LE 0RE:‘T1$
140 GOTO 130: REM CHIUSURA CICLO
Se date il Run vedrete che lo schermo sarà cancellato (riga
120) e, subito dopo, verrà costantemente {riga 140) visualizzata
Fora, preceduta da un breve messaggio (riga 130).
Naturalmente Forano sarà quello disponibile al momento;
volendo regolare l’orologio sarà sufficiente aggiungere la se-
guente riga..,
90 IN PUT' DIGITA L 'ORA ";T1$
...ricordandosi di rispondere, alla domanda, con le sei cifre re-
lative, rispettivamente, ad ore, minuti e secondi.
Ma ciò che interessava sottolineare a proposito del sempli-
cissimo programma, era l'individuazione dello svolgimento
contemporaneo di più programmi.
Anzitutto, ovviamente, è in azione il programma Basic che,
grazie al Goto di riga 140. permette di funzionare alFiniìnito.
E’ attivo, inoltre, anche il programma che aggiorna di conti-
nuo l'orologio interno del computer, e lo dimostra la variazio-
ne continua dell'orario visualizzato; tale azione di aggiorna-
mento. non prevista esplicitamente dal programma Basic, è
assolta in modo '"trasparente” dallo stesso computer, vale a di-
re, appunto, che il programmatore non deve preoccuparsi di
creare una routine apposita, ma è sufficiente limitarsi a far vi-
sualizzare la variabile TI$.
Oltre a quelle viste è però attiva, in posizione di '‘all'erta ”, an-
che la routine che esamina se per caso non sia stato premuto il
tasto Run/Stop; lo dimostra il fatto che, se lo premiamo, il pro-
gramma si arresta.
Ira lasciamo, ovviamente, di considerare le numerose altre
routine che sovrintendono alla gestione del video ed alle altre
complesse procedure vitali per il corretto funzionamento
del calcolatore.
Il programma Basic, però, si limita a visualizzare costante-
mente Fora c, anche se fossero presenti altre istruzioni "dopo”
la riga 140. non potrebbero essere elaborate a causa del
Goto 130.
Esiste un modo per far elaborare altri programmi?
XIV - Commodore Computer Club
Due programmi in ti me sharing
Supponiamo, ora, di voler deierminarc il numero di volte in
cui è stato premuto un certo tasto, ad esempio il pasto più ( +).
Pur se tale programma non risulta particolarmente utile, con-
sideriamo una sua possibile versione che non commentiamo a
causa della sua enorme semplicità.
100 REM SECONDO PROGRAMMA
110 :
120 PRINT CHR$(147):REM CANCELLA SCHERMO
130 GETAS.REM ESAMINA TASTO PREMUTO
140:
150 IF A $ = "+ ” THEN A =A + 1
160 PRINT CHR$(19)
170 PRINT " HAI PREMUTO IL TASTO + "
180 PRINT A “ VOLTE"
190 GOTO 130
Questo listato assomiglia moltissimo a quello visto in prece-
denza perchè (riga 19(1) continua all’in finito. L’artefice che
consente un giro non-stop è l'istruzione Gel. (riga 530) che. se
interpellata, assegna alla variabile designata (A$) il tasto pre-
muto (o la stringa nulla in caso negativo) e prosegue
nell’eia bora zio ne.
Sf rutteremo proprio ('istruzione Gel per fondere i due pro-
grammi studiati finora (e, visto che ci siamo, anche altri due)
per realizzare l'illusione dell'elaborazione contemporanea di
più programmi.
Digitate il seguente listato, che commenteremo subito
dopo:
100 REM QUATTRO PROGRAMMI
110 REM IN TIME- SHARING
120 REM (QUALSIASI COMMODORE)
130 :
140 PRINT CHR$( 147): REM CANCELLA SCHERMO
150 FOR X==l TO 8:X$ =X$ + CHR$(32):NEXT
160 X$ = CHR$( 157) +X$
170 G ET A$: REM ESAMINA TASTO PREMITO
180 :
190 IL A$= ”+ " THEN A = 4 + 1:PI=P1+ E REM INIZIO PRO-
XVI - Commodore Computer Club
GRAMMI N.l E N. 2
200 IF THEN A ~A-l;ME=ME +LREM ANCORA
‘ ‘PROGRAMMA "N.l + ERG. N.3
210 PRINT CHR$( 1 9) "SONO LE ORE:" TI$:REM QUARTO
PROGRAMMA
220 PRINT: PRINT "IL VALORE ATTUALE DIA E’: "A;XS: REM
PARTE DI PRG N. 1
230 PRINT: PRINT " HAI PREMUTO IL TASTO + "PI" VOLTE:":
REM ULTIMA PARTE PRG. N.2
240 PRINT HAI PREMITO IL TASTO - ” ME " VOLTE REM
ULTIMA PARTE PRG . N.3
250 :
260 GOTO 1 70: REM CHIUSURA CICLO
Anche ad un esame superficiale ci si può accorgere che i pro-
grammi attivi stavolta sono ben quattro, pur se frammentati al-
bi n terno di un unico, lungo listato. Trascurando la parte ini-
ziale (righe 100-160) destinata ad inizializzare alcune variabi-
li, possiamo approfondire lo studio dei quattro listati:
• Il primo (parte delie righe 190 e 220) si incarica di determina-
re il numero di volte in cui un certo tasto (ed esattamente il ta-
sto “ + sia stato premuto.
• Il secondo (righe 200 e 240) determina il numero di volte in
cui il tasto meno è stato premuto.
• Il terzo si incarica di effettuare, e visualizzare, la somma alce-
brica del numero di volte in cui sono stati premuti i due tasti:
ad ogni pressione del (+) la variabile “A" viene incrementata;
il contrario avviene tutte le volte che si preme (-).
• Il quarto programma si incarica (riga 210) di visualizzare co-
stantemente l'ora.
Impartendo il consueto Run. si potrà notare che, apparente-
mente, solo il programma relativo alla visualizzazione dell'ora
è attivo, mentre gli altri sembrano non entrare in gioco.
Non appena, però, si preme uno dei tasti (+) oppure (-) ci si
accorge, grazie alla immediata variazione dei valori visualiz-
zati, che i programmi erano lì, in agguato, pronti a funzionare
se ‘ chiamati" opportunamente. Anche premendo i due tasti
(+) c (-) con una certa rapidità i risultatici inducono ad imma-
ginare. con un minimo di fantasia, che i quattro programmi
fu nzionino contempo ra nea mente,
Commodore Computer Club - XV fi
XVlit - Commodore Computer Club
Esaminando il diagramma di flusso relativo, non possiamo
fare a meno di notare che il ciclo, prima o poi, sì richiude su se
stesso ed intuiamo che, esagerando neil'allungare il ciclo (in-
serendo altre elaborazioni) ì due istanti successivi relativi ad
uno stesso programma vengono distanziati eccessivamente fra
loro; in tal caso non sarà più possibile “illudersi” di veder gira-
re contemporaneamente i numerosi programmi e la rapidità
di risposta diventerebbe intollerabile.
Provate, infatti, ad aggiungere queste due righe al program-
ma di prima...
251 IFA$Q"+ "AND AND A$<)"" THEN FRI NT 'HAI
PREMUTO UN ALTRO TASTO"
252 PR1NT ”
...che hanno il compito di accorgersi se sono stati premuti tasti
diversi da (+) e (-). Impartendo il Run, e premendo piuttosto
rapidamente molti tasti (tra cui. magari, anche (+) e (-). vi ac-
corgerete che, dopo aver lasciato la tastiera, il programma non
può più nascondere il tempo eccessivo che viene richiesto nel-
l’elaborazione dei cinque programmi “contemporanei”.
Abbiamo visto, quindi, che con un modesto home computer
(che lavora, per giunta, in Basic) è piuttosto difficile organiz-
zare un lavoro secondo una procedura che richiede la parti-
zione di tempo (ma sarebbe più opportuno parlare, nel caso
particolare, di partizione “di spazio”, più che di “tempo”).
Un altro limite notevole che impedisce il ricorso intensivo
all’istruzione Get, è sicuramente rappresentato dal fatto che,
con tale istruzione, è impossibile, o quantomeno problema-
tico. trasferire al computer un intero messaggio, oppure un
numero, che richiedano la digitazione di più caratteri in
successione.
L'istruzione idonea a tale scopo è infatti Input che. però, al
momento della sua attivazione, interrompe il programma
Basic che viene ripreso solo alla pressione del tasto Return.
Per dimostrare la difficoltà del caso si consideri il se-
guente programma...
100 REM DUE PROGRAMMI DI CUI UNO
no REM CONTENENTE ISTRUZIONI INPUT
120 :
Commodore Computer Club - XIX
1
XX - Commodore Computer Club
130 PRINT CHR$(14 7): REM CANCELLA SCHERMO
140 GET A$:REM ESAMINA TASTO PREMUTO
150 IF A$= "" THEN GOSUB 220.GOTO 140
160 PRINT CHR$(147): GOSUB 220: PRINT
1 70 INPUT ‘MINUENDO ”;Ml
ISO INPUT’SOTTRAENDO ";S0: PRINT
190 PRINT MI ‘ - ” SO "= ” MI- SO
200 GOTO 140
210 :
220 PRINTCHR$(1 9) "SONO LE ORE: “17$
230 RETURN
...che dovrebbe visualizzare costantemente l'ora oltre a con-
sentire il calcolo di una sottrazione (righe 170-190).
Non appena di impartisce il Run, infatti, l’ora viene visualiz-
zala finché non si preme un tastp. A questo punto verranno
richiesti il minuendo ed il sottraendo ma, finché non si preme
per la seconda volta il tasto Return, il tempo non verrà più
scandito istante per istante. E ovvio che, non appena si preme
il secondo Return, verrà visualizzata fora aggiornata, dal
momento che, anche durante la fase di Input, il vostro compu-
ter ha provveduto ad aggiornarla in modo “trasparente". Viene
però persa la caratteristica di contemporaneità e di tempo
reale che contraddistingueva i programmi studiati in pre-
cedenza.
Lavorando in Basic, pertanto, la tecnica di pseudo-time sha-
ring può essere adottata con successo solo durante la visualiz-
zazione di un menu, quando, cioè, il programma principale
attende l’indicazione di una preferenza. Nel caso non venga
premuto alcun tasto è possibile approfittare per visualizzare
l’ora, per cambiare continuamente i colori del bordo, per emet-
tere dei segnali sonori e così via.
L’iiiterrupt
Esiste una tecnica particolare che viene spesso usata dai pro-
grammatori per fare in modo che una certa routine venga
usata continuamente durante l'uso normale del computer.
Tale tecnica approfitta del fatto che, ogni sessantesimo di
secondo, il microprocessore interrompe il lavoro che sia ese-
guendo e salta ad eseguire alcuni controlli, verifiche ed altre
"cose" necessarie per mandare avanti la baracca,
Commodore Computer Club - XXI
Naturalmente la procedura di In terni pt è trasparente per
Putente finale che non si accorge minimamente delle frequen-
tissime interruzioni.
Ogni sessantesimo di secondo (caso del C/64) il micro salta
ad eseguire una routine in linguaggio macchina il cui indi-
rizzo di partenza (nella consueta forma basso/alto) è memo-
rizzato nelle due locazioni adiacenti 788 e 789. Di solito, non
appena si accende il C/64, in tali locazioni sono presenti,
rispettivamente, i valori 49 e 234. Questi, combinati nella
forma 234*256+49. forniscono il valore 59953 che, appunto,
rappresenta findirizzo di partenza delia routine in linguaggio
macchina richiamata ogni sessantesimo di secondo.
Poiché i due puntatori 788 e 789 sono in una zona Ram,
risulta relativamente semplice, per l'utente finale, modificarne
il contenuto e fare in modo che una sua personale routine sia
“attraversata" prima di compiere il solito giro di perlustra-
zione allo scattare del sessantesimo di secondo.
C'è solo da tener presente che la routine da inserire nel ciclo
di Interrupt deve assolutamente terminare con l’istruzione di
salto incondizionato JMP EA31; tale accorgimento è indi-
spensabile perchè, appunto, il ciclo di interrupt non può fare a
meno di essere eseguito.
Si ricorda che EA31, tradotto in decimale, rappresenta pro-
prio il numero 59953 prima visto.
Poiché la routine da inserire deve, necessariamente, essere
scritta in linguaggio macchina, verrà il momento in cui si
dovrà alterare il puntatore 788/789. Se, però, eseguiamo la
modifica, da Basic, per mezzo di istruzioni Poke, corriamo il
rischio che. subito dopo aver eseguito la Poke relativa alla
locazione 788, arrivi l'impulso di Interrupt che andrebbe ad
eseguire la routine allocata in un indirizzo modificato... a
metà!
Per evitare questo inconveniente vi sono due strade: La prima,
complicata, richiede fuso delle istruzioni L.M. che riguardano
fintemi pt (CLI, SEI) che costringono il microprocessore a tra-
scurare, oppure ad accettare, le richieste di interruzioni.
Il secondo metodo, decisamente più semplice, consiste nel-
l’allocare la nostra routine L.M. in una locazione che abbia,
come parte bassa delfindirizzo nuovo, la stessa parte bassa
(49) dell’indirizzo originario. In tal modo modificando, anche
da Basic mediante Poke, la sola locazione 789. si renderà
disponibile un efficace deviatore, governabile da Basic, che
XXII - Commodore Computer Club
renderà attiva, o meno, la nostra routine.
In altre parole, se le due locazioni contengono normalmente
49 e 234, faremo in modo che la nostra routine sia allocata a
partire da 49201, indirizzo fornito dai due valori 49 e 192
opportunamente combinati tra loro (192*256+49).
Con tale semplicissimo accorgimento sarebbe possibile, ma
solo in teoria, selezionare ben 256 cicli diversi di Interrupt
limitandosi a modificare, mediante Poke, la locazione 789 e a
patto, ovviamente, di scrivere altrettante routine nelle 256
pagine di cui dispone il microprocessore. Ad approfondire tale
discorso, però, potrebbero essere disponibili solo i lettori più
esperti ed è questo il motivo per cui non andiamo oltre.
Commodore Computer Club - XXII!
Dal semplice al difficile
Provate, ora. a digitare il seguente listato, e fatelo partire con
un semplice Run.
100 PRINT CHR$(147)
105 A$=CHR$(32) + CHR$(32)
110 PRINT CHR$(19): FOR 1=160 TO 162
120 PRINT A$ STR$(PEEK{ l))A $;: NEXT
130 PRINT: GOTO HO
Rintracciare il motivo per cui si utilizzano tante istruzioni
apparentemente superflue sarà un valido esercizio per il letto-
re che voglia approfondire la gestione della visualizzazione di
numerosi valori numerici su di uno stesso rigo.
Ciò che vogliamo mettere in evidenza, invece, è solo il fatto
che in un C/64 vi sono tre locazioni di memoria (160, 161 e 162)
che sono interessate alla manipolazione del... tempo.
Tutti dovrebbero sapere, inoltre, che è possibile visualizzare
un carattere sullo schermo mediante istruzioni Pokc che inte-
ressano l’area del video, allocata da 1 024 a 2023 (in esadeci ma-
le da 0400 a 07E7).
Un programma analogo a quello appena visto, che ricorra a
Poke anziché a Print, pud essere il seguente:
100 PIU NT CHR$(147)
110 IOR 1=0 TO' 2
120 POKE 1024+1. PEEK( 160+1)
130 NEXT: GOTO L10
Naturalmente quest'ultimo può presentare difficoltà di com-
prensione rispet to al precedente perchè i tre caratteri visualiz-
zati nelle prime tre celle video cambiano continuamente e sem-
brano non avere alcun senso.
Quest'ultimo programma, però, ha il vantaggio di essere fa-
cilmente inseribile all interno di una routine di lnterrupt me-
diante. ad esempio, il seguente programma Basic che contiene,
al suo intemo, informazioni sufficienti per la comprensione
del programma in linguaggio macchina:
XXIV- Commodore Computer Club
100 REM OROLOGIO NELL '1NTERR UVE
110 REM LE TRE LOCAZIONI
120 :
130 READ X: IF X=-l THEN 150
140 POKE 49201+ 1,X: 1=1+1: GOTO 130
150 POKE 789.192: REM CAMBIA INTERRI IPT
160:
170 DATA 1 62. 3 :REM LDX*3
180 DATA 181,159 :REM LDA.X *159
190 DATA 157, 2 5 5, 3: REM STAX # 1023
200 DATA 202 : REM DEX
210 DATA 208,248 :REM BNE F8
220 DATA 76, 49,234: REM JMP # 59953
230 :
240 DATA -LREM FINE DEI DAT4
Sorvolando il commento sulle istruzioni L.M. (che richiede-
rebbe un intero fascicolo) ci limitiamo ad evidenziare l’unica
Poke necessaria per il dirottamento della routine di Interrupt e
la riga 220 contenente i codici relativi al salto incondizionato
JMPEA31 di cui abbiamo parlato in precedenza.
Non appena fate partire il programma con un semplice Run
vi accorgete che nelle prime tre locazioni dello schermo vengo-
no costantemente visualizzati i tre caratteri che rappresentano
il contenuto delle tre locazioni 160, 161 e 162. Ora, però, possia-
mo utilizzare il computer per far girare altri programmi o per
compiere altre operazioni: provate ad eseguire un List, a can-
cellare righe, a scrivere un nuovo programma: durante tutte
queste operazioni le prime tre celle video continueranno indi-
sturbate a visualjzzare. a modo loro, l’ora in tempo reale.
Con Ostruzione Poke 789.234 (oppure con la pressione di
Run/Stop e Restore) si ripristinano i valori originali.
Abbiamo con ciò dimostralo come sìa senapi ice(!) obbligare
un qualsiasi computer a compiere più procedure in modo ap-
pa re nteme nte contempo ra neo.
Nei primi esempi abbiamo visto come, con il Basic, si mani-
festino subito dei limiti inaccettabili. Possiamo ora affermare
che. ricorrendo al Li nguaggio Macchina (cd in particolare alla
manipolazione del vettore di Interrupt) è possibile risolvere il
problema una volta per tutte?
XXV/ - Commodore Computer Club
Commodore Computer Cfub - XXVtl
It caso si complica
Vediamo che cosa succede se, anziché visualizzare solo tre
locazioni, proviamo a visualizzarne ben 256: un programma
perii C/64 può essere il seguente, che con sigliamo di trascrive-
re dopo aver premuto i tasti Ru n/Stop e Resto ré:
100 REM VISUALIZZA 256 BYTE IN INTERRUPT
HO REM DOPPIO CICLO DI RITARDO
120 :
130 PRINT CHR${147) CONTO FINO A 10000 IN..'’;: GOSUB
340: PRINT" SECONDI ”
140 PRINT: PRINT "PREMI UN TASTO PER CON-
TINUARE"
150 GETA$: IF A$=”’’ TtìEN 150
160 :
170 READ X: IF X=-l THEN 190
180 POKE 49201+ IX: 1=1+1: GOTO 170
190 POKE 789,192: REM CAMBIA INTERRUPT
200 :
220 DATA 162,255 :REM LDX#255
230 DATA 181.0 :REM LDA.X $0
240 DATA 1 5 7,255. 3: REM STA.X &I023
250 DAÌA 202 :REM DEX
260 DATA 208,248 :REM BNE F8
290 DATA 76,49,234:REM JMP # 59953
300:
310 DATA -1:REM FINE DEI DATA
320 FOR 1 = 170 10: PRINT: NEXT
330 PRINF MENTR E ORA IMPIEGO... ”;:GOSUB340:END
340 TI$= '0000007 FOR A=1 TO 10000: NEXT: PRINT TU;:
RETURN
Poco dopo il Run la parte superiore dello schermo, ed esatta-
mente le prime sei righe per intero e i primi 14 byte del settimo
rigo (per un totale di 256 caratteri) si riempono di caratteri ap-
parentemente casuali. In effetti rappresenta la radiografia, in
tempo reale, della prima “pagina" di memoria in cui, oltre alle
già note locazioni 160, 161 e 162, vi sono altre locazioni che so-
vrintendono a particolari funzioni: provate, quando ricompa-
re il familiare READY, a premere e rilasciare il tasto Control,
oppure a far salire e scendere il cursore o a premere Run/Stop:
XXVUf - Commodore Computer Club
so avete pazienza (ed una mappa di memoria), potete indivi-
duare la locazione interessata alle singole operazioni ac-
cenate.
Ma ciò che volevamo mettere in evidenza non era ta nto un si-
stema per radiografare una pagina di memoria ma, soprattut-
to. il fatto che anche lavorando in linguaggio macchina, noto-
riamente ipervclocc, sì accusano alcuni rallentamenti che pos-
sono diventare intollerabili.
A parte, infatti, il tempo nettamente maggiore che il compu-
ter impiega per contare da 1 a 10000, ci accorgiamo che alcune
semplici operazioni vengono svolte in tempi maggiori; provate
a dare un comando dì List e ve ne accorgerete.
Se poi, dopo avere premuto Run/Stop c Restorc. aggiungete
le seguenti linee...
210 DATA 160,4 REM LDY#4
270 DATA 136 : REM DEY
280 DATA 208,243 :REM BNE F$
-.che, facendo intervenire il registro Y. costringono a visualiz-
zare quattro volte la pagina zero, vi accorgerete di un incredì-
bile rallentamento delle operazioni, avvertìbile perfino nello
spostare il cursore: nella fase dì List, addirittura, è possibile
notare la particolare tecnica seguita dal computer perla realiz-
zazione dello scrolling*
Comma dorè Computer Club - XXIX
Che fare?
Da quanto detto possiamo quindi concludere che la possibi-
lità di far funzionare più programmi in contemporanea si
scontra, prima o poi, con le caratteristiche peculiari del siste-
ma adoperato.
Pur ricorrendo a tecniche di programmazioni pregevoli, in
grado di risparmiare lino all’ultimo byte, e metodologie sofisti-
cate, che sfruttano al massimo le risorse del microprocessore,
non ò pensabile andare oltre un certo limite, superato il quale
si può addirittura provocare il crash del sistema.
Ecco quindi il motivo per cui non è importante avere a dispo-
sizione vaste quantità di memoria o disporre di linguaggi in
grado di svolgere funzioni incredibilmente complesse; è fon-
damentale, soprattutto, individuare la massima velocità rag-
giungibile dal micro (in termini di megahertz), la sofisticazio-
ne delle istruzioni di cui dispone, il numero di cicli macchina
che richiede per svolgerle e, in ultima analisi della quantità di
tecnologia che contiene.
Il caso dell’ Amiga
Non potevamo certo fare a meno di ricorrere ad un confronto
illuminante che meglio di ogni altro chiarisse che cosa si in-
tenda con il termine “multiprogramm azione” (e analoghi).
L'Amiga è un computer la cui caratteristica peculiare è, ap-
punto, la capacità di multiprogrammazione.
Anche chi non possiede un Amiga avrà sicuramente avuto
occasione di vederne in funzione un esemplare, almeno una
volta. A coloro che, sfortunati, non appartengono a tale schiera,
ricorderò semplicemente che tra i vari file forniti in omaggio
con r Amiga c presente un programma dal nome chiarificatore
“Clock" (orologio) che, se attivato, consente di tener visualiz-
zato costantemente un orologio digitale (oppure analogico)
con tanto di lancette relative alle ore, ai minuti e ai secondi; è
addirittura possibile spostare la finestra delforologio in qual-
siasi zona dello schermo con il mouse.
Ciò significa che, a parte la possibilità di modificare entro
ampi limiti le dimensioni dello stesso orologio (in altezza e
larghezza), sarà possibile visualizzare costantemente il qua-
drante, in tempo reale, anche durante l'esecuzione di altri pro-
grammi, scritti in qualsivoglia linguaggio.
e
XXX - Commodore Computer Club
Soffermiamoci alcuni istanti permeglio comprendere firn-
mane lavoro che l'Amiga è chiamata a compiere per riuscire
nelfintento: la finestra dell’orologio è in alta risoluzione; ne
deriva che. istante per istante, il microprocessore dovrà cancel-
lare la lancetta dei secondi dalla posizione precedente e rico-
struirla dopo aver determinato l’angolo, descritto in senso ora-
rio, tenendo conto delle dimensioni della finestra c del rappor-
to tra lunghezza e larghezza che, lo ricordo, possono esser va-
riati a piacere dall'utente in qualsiasi momento con il semplice
movimento del mouse.
Quando due lancette si sovrappongono (e ciò capita alla lan-
cetta dei secondi due volte per ciascun giro) bisogna tener con-
to che, dopo lo spostamento, bisogna far ricomparire anche la
lancetta dei minuti (o delle ore, a seconda dei casi).
Con un C/64 tale operazione potrebbe certamente essere
svolta ricorrendo alla grafica in alta risoluzione; dubito, però,
che l’orologio possa essergestito con facilità se posizionato al-
fintemo di un ciclo di Interrupt... ~
Con l’Amiga è possibile caricare più volte il programma
Clock e visualizzare contemporaneamente più orologi, di for-
ma e dimensione diverse, che battono all’unisono.
Tanto per rendersi conto della reale multiprogramniazionc
di cui è capace l’Amiga, tenete presente che, per prova, ho cari-
cato ben 14 (quattordici) orologi, ed ho conferito, ad ognuno di
loro, diversa forma e dimensione.
Ebbene è necessario stare molto, ma molto attenti per accor-
gersi che. in effetti, -la lancetta dei secondi non è sistemala nella
stessa posizione in un determinato istante, ma si riesce ad indi-
viduare uno sfasamento provocato dal fatto che gli orologi so-
no azionati alternativamente, l’uno dopo l’altro.
Se non è multiprogrammazione questa, sapete indicarmi un
computer in grado di raggiungere una rapidità di multipro-
grammazione comparabile con quella dell’Amiga?...
Commodore Computer Club - XXXI
- XXX// Commodore Computer Club